diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/osmocom/bsc/neighbor_ident.h | 4 | ||||
-rw-r--r-- | include/osmocom/bsc/pcuif_proto.h | 28 |
2 files changed, 32 insertions, 0 deletions
diff --git a/include/osmocom/bsc/neighbor_ident.h b/include/osmocom/bsc/neighbor_ident.h index 0565d528c..58300ba48 100644 --- a/include/osmocom/bsc/neighbor_ident.h +++ b/include/osmocom/bsc/neighbor_ident.h @@ -86,6 +86,10 @@ int neighbors_check_cfg(); "for all BSICs / use any BSIC in this ARFCN\n" void neighbor_ident_vty_parse_arfcn_bsic(struct cell_ab *ab, const char **argv); +int neighbor_address_resolution(const struct gsm_network *net, const struct cell_ab *ab, + uint16_t lac, uint16_t cell_id, + struct osmo_cell_global_id_ps *res_cgi_ps); + struct ctrl_handle *neighbor_controlif_setup(struct gsm_network *net); int neighbor_ctrl_cmds_install(struct gsm_network *net); diff --git a/include/osmocom/bsc/pcuif_proto.h b/include/osmocom/bsc/pcuif_proto.h index 3e6f6510e..4921fc38d 100644 --- a/include/osmocom/bsc/pcuif_proto.h +++ b/include/osmocom/bsc/pcuif_proto.h @@ -26,6 +26,10 @@ #define PCU_IF_MSG_TXT_IND 0x70 /* Text indication for BTS */ #define PCU_IF_MSG_CONTAINER 0x80 /* Transparent container message */ +/* msg_type coming from BSC (inside PCU_IF_MSG_CONTAINER) */ +#define PCU_IF_MSG_NEIGH_ADDR_REQ 0x81 /* Neighbor Address Resolution Request */ +#define PCU_IF_MSG_NEIGH_ADDR_CNF 0x82 /* Neighbor Address Resolution Confirmation */ + /* sapi */ #define PCU_IF_SAPI_RACH 0x01 /* channel request on CCCH */ #define PCU_IF_SAPI_AGCH 0x02 /* assignment on AGCH */ @@ -226,6 +230,30 @@ struct gsm_pcu_if_container { uint8_t data[0]; } __attribute__ ((packed)); +/*** Used inside container: NOTE: values must be network byte order here! ***/ +/* Neighbor Address Resolution Request */ +struct gsm_pcu_if_neigh_addr_req { + uint16_t local_lac; + uint16_t local_ci; + uint16_t tgt_arfcn; + uint8_t tgt_bsic; +} __attribute__ ((packed)); + +/* Neighbor Address Resolution Confirmation */ +struct gsm_pcu_if_neigh_addr_cnf { + struct gsm_pcu_if_neigh_addr_req orig_req; + uint8_t err_code; /* 0 success, !0 failed & below unset */ + /* RAI + CI (CGI-PS): */ + struct __attribute__ ((packed)) { + uint16_t mcc; + uint16_t mnc; + uint8_t mnc_3_digits; + uint16_t lac; + uint8_t rac; + uint16_t cell_identity; + } cgi_ps; +} __attribute__ ((packed)); + struct gsm_pcu_if { /* context based information */ uint8_t msg_type; /* message type */ |