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 | 4f361fc | 2009-02-15 15:32:53 +0000 | [diff] [blame] | 8 | |
Holger Hans Peter Freyther | ec8a4e2 | 2010-10-14 22:56:06 +0200 | [diff] [blame] | 9 | struct 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 Freyther | 7a0010b | 2013-04-29 20:40:44 +0200 | [diff] [blame] | 14 | char imsi[GSM_IMSI_LENGTH]; |
| 15 | uint8_t data[0]; |
Holger Hans Peter Freyther | ec8a4e2 | 2010-10-14 22:56:06 +0200 | [diff] [blame] | 16 | } __attribute__((packed)); |
| 17 | |
Holger Hans Peter Freyther | c3f2832 | 2011-04-23 15:08:44 +0200 | [diff] [blame] | 18 | /* |
Holger Hans Peter Freyther | 2a9eeaa | 2011-04-23 16:37:58 +0200 | [diff] [blame] | 19 | * @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] | 20 | * @nr_lacs Number of extra lacs inside this package |
| 21 | * @lac One lac entry |
| 22 | */ |
| 23 | struct 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 Freyther | 70402a4 | 2010-04-15 11:17:24 +0200 | [diff] [blame] | 30 | int ipaccess_drop_oml(struct gsm_bts *bts); |
| 31 | int ipaccess_drop_rsl(struct gsm_bts_trx *trx); |
Holger Hans Peter Freyther | d3d5be1 | 2010-02-09 14:37:23 +0100 | [diff] [blame] | 32 | |
Holger Hans Peter Freyther | 0183edd | 2009-12-30 06:13:36 +0100 | [diff] [blame] | 33 | struct sdp_header_item { |
Holger Hans Peter Freyther | c9f8a6d | 2009-12-30 06:10:56 +0100 | [diff] [blame] | 34 | struct sdp_header_entry header_entry; |
| 35 | struct llist_head entry; |
Holger Hans Peter Freyther | 38722cc | 2010-03-22 11:22:54 +0100 | [diff] [blame] | 36 | off_t absolute_offset; |
Holger Hans Peter Freyther | c9f8a6d | 2009-12-30 06:10:56 +0100 | [diff] [blame] | 37 | }; |
| 38 | |
Holger Hans Peter Freyther | 4a98cad | 2009-12-30 05:56:49 +0100 | [diff] [blame] | 39 | struct sdp_header { |
| 40 | struct sdp_firmware firmware_info; |
Holger Hans Peter Freyther | c9f8a6d | 2009-12-30 06:10:56 +0100 | [diff] [blame] | 41 | |
| 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 Freyther | 4a98cad | 2009-12-30 05:56:49 +0100 | [diff] [blame] | 47 | }; |
| 48 | |
| 49 | int ipaccess_analyze_file(int fd, const unsigned int st_size, const unsigned base_offset, struct llist_head *list); |
| 50 | |
Harald Welte | 4f361fc | 2009-02-15 15:32:53 +0000 | [diff] [blame] | 51 | #endif /* _IPACCESS_H */ |