diff options
Diffstat (limited to 'examples/lapd-over-datagram-network.c')
-rw-r--r-- | examples/lapd-over-datagram-network.c | 12 |
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; |