summaryrefslogtreecommitdiffstats
path: root/src/host/layer23
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2013-12-23 11:09:35 +0100
committerAndreas Eversberg <jolly@eversberg.eu>2014-02-26 12:17:12 +0100
commit3138c0214285f73c1a9e5af05f5d783d68feaec9 (patch)
tree8b3e4341dee4e38b050c7bc12cba25274e7d0b09 /src/host/layer23
parent447ac935c571bb410b1f7b8467619abac92c7201 (diff)
Add ringer support to L1CTL interface and layer1
Diffstat (limited to 'src/host/layer23')
-rw-r--r--src/host/layer23/include/osmocom/bb/common/l1ctl.h3
-rw-r--r--src/host/layer23/src/common/l1ctl.c17
2 files changed, 20 insertions, 0 deletions
diff --git a/src/host/layer23/include/osmocom/bb/common/l1ctl.h b/src/host/layer23/include/osmocom/bb/common/l1ctl.h
index e95f47b7..3cf014e4 100644
--- a/src/host/layer23/include/osmocom/bb/common/l1ctl.h
+++ b/src/host/layer23/include/osmocom/bb/common/l1ctl.h
@@ -74,4 +74,7 @@ int l1ctl_ph_prim_cb(struct osmo_prim_hdr *oph, void *ctx);
/* Transmit L1CTL_NEIGH_PM_REQ */
int l1ctl_tx_neigh_pm_req(struct osmocom_ms *ms, int num, uint16_t *arfcn);
+/* Transmit L1CTL_RINGER_REQ */
+int l1ctl_tx_ringer_req(struct osmocom_ms *ms, uint8_t volume);
+
#endif
diff --git a/src/host/layer23/src/common/l1ctl.c b/src/host/layer23/src/common/l1ctl.c
index d136336f..ba037d09 100644
--- a/src/host/layer23/src/common/l1ctl.c
+++ b/src/host/layer23/src/common/l1ctl.c
@@ -934,6 +934,23 @@ static int rx_l1_neigh_pm_ind(struct osmocom_ms *ms, struct msgb *msg)
return 0;
}
+/* Transmit L1CTL_RINGER_REQ */
+int l1ctl_tx_ringer_req(struct osmocom_ms *ms, uint8_t volume)
+{
+ struct msgb *msg;
+ struct l1ctl_ringer_req *ring_req;
+
+ msg = osmo_l1_alloc(L1CTL_RINGER_REQ);
+ if (!msg)
+ return -1;
+
+ LOGP(DL1C, LOGL_INFO, "Tx RINGER Req (volume %u)\n", volume);
+ ring_req = (struct l1ctl_ringer_req *) msgb_put(msg, sizeof(*ring_req));
+ ring_req->volume = volume;
+
+ return osmo_send_l1(ms, msg);
+}
+
/* Receive incoming data from L1 using L1CTL format */
int l1ctl_recv(struct osmocom_ms *ms, struct msgb *msg)
{