aboutsummaryrefslogtreecommitdiffstats
path: root/include/osmo-bts/pcu_if.h
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2021-06-08 18:38:23 +0200
committerlaforge <laforge@osmocom.org>2021-06-30 08:13:21 +0000
commit8bf5cbea49275c5cd21873e05e896dfeea73b9b1 (patch)
tree639120ed0e9946fd9f757ba3391757d13618d17c /include/osmo-bts/pcu_if.h
parent80ce85295b35874e853517e8fc77776b3424350d (diff)
Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU
This new extension protocol is used to forward Osmocom PCUIF messages BSC<->BTS<->PCU. It will be sent re-using the IPA multiplex of the OML link between BSC and BTS. BTS is responsible for forwarding the message over the unix socket to the PCU. PCUIF existing RX path needs to be reworked in order to accept variable-size messages, in order to be able to transparently forward messages without knowing about them (the new container message is variable-length). Related: SYS#5303 Change-Id: I73fdb17107494ade9263a62d1f729e67303fce87
Diffstat (limited to 'include/osmo-bts/pcu_if.h')
-rw-r--r--include/osmo-bts/pcu_if.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/osmo-bts/pcu_if.h b/include/osmo-bts/pcu_if.h
index 6ef8dc57..12a8abc9 100644
--- a/include/osmo-bts/pcu_if.h
+++ b/include/osmo-bts/pcu_if.h
@@ -1,8 +1,12 @@
#ifndef _PCU_IF_H
#define _PCU_IF_H
+#include <osmo-bts/pcuif_proto.h>
+
extern int pcu_direct;
+#define PCUIF_HDR_SIZE ( sizeof(struct gsm_pcu_if) - sizeof(((struct gsm_pcu_if *)0)->u) )
+
int pcu_tx_info_ind(void);
int pcu_tx_si(const struct gsm_bts *bts, enum osmo_sysinfo_type si_type, bool enable);
int pcu_tx_app_info_req(struct gsm_bts *bts, uint8_t app_type, uint8_t len, const uint8_t *app_data);
@@ -20,6 +24,7 @@ int pcu_tx_interf_ind(uint8_t bts_nr, uint8_t trx_nr, uint32_t fn,
int pcu_tx_pag_req(const uint8_t *identity_lv, uint8_t chan_needed);
int pcu_tx_pch_data_cnf(uint32_t fn, uint8_t *data, uint8_t len);
int pcu_tx_susp_req(struct gsm_lchan *lchan, uint32_t tlli, const uint8_t *ra_id, uint8_t cause);
+int pcu_sock_send(struct gsm_network *net, struct msgb *msg);
int pcu_sock_init(const char *path);
void pcu_sock_exit(void);