aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2011-08-24 09:45:11 +0200
committerHarald Welte <laforge@gnumonks.org>2011-08-24 09:45:11 +0200
commit14078eaffe37689061ea92963bb0a1da67fb9638 (patch)
tree8eae1e0913e6dddea520b74844637dfa24e42a44
parent3bc78855390d1fde57615572a7ca05c7dcb5e226 (diff)
LAPD: Add function to release/free a LAPD instance
-rw-r--r--include/osmocom/abis/lapd.h1
-rw-r--r--src/input/lapd.c7
2 files changed, 8 insertions, 0 deletions
diff --git a/include/osmocom/abis/lapd.h b/include/osmocom/abis/lapd.h
index dd22028..92dc2c3 100644
--- a/include/osmocom/abis/lapd.h
+++ b/include/osmocom/abis/lapd.h
@@ -48,6 +48,7 @@ struct lapd_instance *lapd_instance_alloc(int network_side,
void (*tx_cb)(uint8_t *data, int len,
void *cbdata), void *cbdata);
+void lapd_instance_free(struct lapd_instance *li);
/* Start a (user-side) SAP for the specified TEI/SAPI on the LAPD instance */
int lapd_sap_start(struct lapd_instance *li, uint8_t tei, uint8_t sapi);
diff --git a/src/input/lapd.c b/src/input/lapd.c
index 0287e14..d94af58 100644
--- a/src/input/lapd.c
+++ b/src/input/lapd.c
@@ -730,3 +730,10 @@ struct lapd_instance *lapd_instance_alloc(int network_side,
return li;
}
+
+void lapd_instance_free(struct lapd_instance *li)
+{
+ /* tei and sapis are allocated hierarchically of the lapd
+ * instance, so one free is sufficient here */
+ talloc_free(li);
+}