aboutsummaryrefslogtreecommitdiffstats
path: root/examples/lapd-over-datagram-network.c
diff options
context:
space:
mode:
Diffstat (limited to 'examples/lapd-over-datagram-network.c')
-rw-r--r--examples/lapd-over-datagram-network.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/examples/lapd-over-datagram-network.c b/examples/lapd-over-datagram-network.c
index 58ee3fa..fb94515 100644
--- a/examples/lapd-over-datagram-network.c
+++ b/examples/lapd-over-datagram-network.c
@@ -44,12 +44,22 @@ void sighandler(int foo)
exit(EXIT_SUCCESS);
}
-int read_cb(struct osmo_dgram_conn *conn, struct msgb *msg)
+int read_cb(struct osmo_dgram_conn *conn)
{
int error;
+ struct msgb *msg;
LOGP(DLAPDTEST, LOGL_DEBUG, "received message from datagram\n");
+ msg = msgb_alloc(1200, "LAPD/test");
+ if (msg == NULL) {
+ LOGP(DLAPDTEST, LOGL_ERROR, "cannot allocate message\n");
+ return -1;
+ }
+ if (osmo_dgram_conn_recv(conn, msg) < 0) {
+ LOGP(DLAPDTEST, LOGL_ERROR, "cannot receive message\n");
+ return -1;
+ }
if (lapd_receive(lapd, msg, &error) < 0) {
LOGP(DLAPDTEST, LOGL_ERROR, "lapd_receive returned error!\n");
return -1;