Harald Welte | 4f361fc | 2009-02-15 15:32:53 +0000 | [diff] [blame] | 1 | #ifndef _IPACCESS_H |
| 2 | #define _IPACCESS_H |
| 3 | |
Pablo Neira Ayuso | ed5cacb | 2011-08-17 22:44:07 +0200 | [diff] [blame] | 4 | #include <osmocom/abis/e1_input.h> |
Holger Hans Peter Freyther | ec8a4e2 | 2010-10-14 22:56:06 +0200 | [diff] [blame] | 5 | #include "gsm_subscriber.h" |
Pablo Neira Ayuso | 136f453 | 2011-03-22 16:47:59 +0100 | [diff] [blame] | 6 | #include <osmocom/core/linuxlist.h> |
Harald Welte | a85515b | 2011-05-22 21:57:36 +0200 | [diff] [blame] | 7 | #include <osmocom/gsm/protocol/ipaccess.h> |
Harald Welte | d3fa84d | 2016-04-20 17:50:17 +0200 | [diff] [blame] | 8 | #include <osmocom/gsm/protocol/gsm_23_003.h> |
Harald Welte | 4f361fc | 2009-02-15 15:32:53 +0000 | [diff] [blame] | 9 | |
Holger Hans Peter Freyther | ec8a4e2 | 2010-10-14 22:56:06 +0200 | [diff] [blame] | 10 | struct ipac_msgt_sccp_state { |
| 11 | uint8_t src_ref[3]; |
| 12 | uint8_t dst_ref[3]; |
| 13 | uint8_t trans_id; |
| 14 | uint8_t invoke_id; |
Harald Welte | d3fa84d | 2016-04-20 17:50:17 +0200 | [diff] [blame] | 15 | char imsi[GSM23003_IMSI_MAX_DIGITS+1]; |
Holger Hans Peter Freyther | 7a0010b | 2013-04-29 20:40:44 +0200 | [diff] [blame] | 16 | uint8_t data[0]; |
Holger Hans Peter Freyther | ec8a4e2 | 2010-10-14 22:56:06 +0200 | [diff] [blame] | 17 | } __attribute__((packed)); |
| 18 | |
Holger Hans Peter Freyther | c3f2832 | 2011-04-23 15:08:44 +0200 | [diff] [blame] | 19 | /* |
Holger Hans Peter Freyther | 2a9eeaa | 2011-04-23 16:37:58 +0200 | [diff] [blame] | 20 | * @add_remove 0 for remove, 1 for add, 3 to asK |
Holger Hans Peter Freyther | c3f2832 | 2011-04-23 15:08:44 +0200 | [diff] [blame] | 21 | * @nr_lacs Number of extra lacs inside this package |
| 22 | * @lac One lac entry |
| 23 | */ |
| 24 | struct ipac_ext_lac_cmd { |
| 25 | uint8_t add_remove; |
| 26 | uint8_t nr_extra_lacs; |
| 27 | uint16_t lac; |
| 28 | uint8_t data[0]; |
| 29 | } __attribute__((packed)); |
| 30 | |
Holger Hans Peter Freyther | 1464a12 | 2014-11-06 16:32:57 +0100 | [diff] [blame] | 31 | void ipaccess_drop_oml(struct gsm_bts *bts); |
| 32 | void ipaccess_drop_rsl(struct gsm_bts_trx *trx); |
Holger Hans Peter Freyther | d3d5be1 | 2010-02-09 14:37:23 +0100 | [diff] [blame] | 33 | |
Holger Hans Peter Freyther | 0183edd | 2009-12-30 06:13:36 +0100 | [diff] [blame] | 34 | struct sdp_header_item { |
Holger Hans Peter Freyther | c9f8a6d | 2009-12-30 06:10:56 +0100 | [diff] [blame] | 35 | struct sdp_header_entry header_entry; |
| 36 | struct llist_head entry; |
Holger Hans Peter Freyther | 38722cc | 2010-03-22 11:22:54 +0100 | [diff] [blame] | 37 | off_t absolute_offset; |
Holger Hans Peter Freyther | c9f8a6d | 2009-12-30 06:10:56 +0100 | [diff] [blame] | 38 | }; |
| 39 | |
Holger Hans Peter Freyther | 4a98cad | 2009-12-30 05:56:49 +0100 | [diff] [blame] | 40 | struct sdp_header { |
| 41 | struct sdp_firmware firmware_info; |
Holger Hans Peter Freyther | c9f8a6d | 2009-12-30 06:10:56 +0100 | [diff] [blame] | 42 | |
| 43 | /* for more_magic a list of sdp_header_entry_list */ |
| 44 | struct llist_head header_list; |
| 45 | |
| 46 | /* the entry of the sdp_header */ |
| 47 | struct llist_head entry; |
Holger Hans Peter Freyther | 4a98cad | 2009-12-30 05:56:49 +0100 | [diff] [blame] | 48 | }; |
| 49 | |
| 50 | int ipaccess_analyze_file(int fd, const unsigned int st_size, const unsigned base_offset, struct llist_head *list); |
| 51 | |
Harald Welte | 4f361fc | 2009-02-15 15:32:53 +0000 | [diff] [blame] | 52 | #endif /* _IPACCESS_H */ |