From 3dd2f8afdddf22687c4d8dc2639191119818c860 Mon Sep 17 00:00:00 2001 From: Patrick McHardy Date: Mon, 22 Nov 2010 16:08:00 +0100 Subject: [PATCH] raw: add dect_raw_close() function Signed-off-by: Patrick McHardy --- example/hijack.c | 2 +- include/dect/raw.h | 4 +++- src/raw.c | 17 +++++++++++++++-- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/example/hijack.c b/example/hijack.c index adb9ad8..cb4f43b 100644 --- a/example/hijack.c +++ b/example/hijack.c @@ -112,7 +112,7 @@ int main(int argc, char **argv) dect_common_init(&ops, argv[1]); - dfd = dect_raw_socket(dh); + dfd = dect_raw_open(dh); if (dfd == NULL) pexit("dect_raw_socket"); diff --git a/include/dect/raw.h b/include/dect/raw.h index 39acad3..6c79e2b 100644 --- a/include/dect/raw.h +++ b/include/dect/raw.h @@ -15,7 +15,9 @@ struct dect_raw_ops { struct dect_msg_buf *mb); }; -extern struct dect_fd *dect_raw_socket(struct dect_handle *dh); +extern struct dect_fd *dect_raw_open(struct dect_handle *dh); +extern void dect_raw_close(struct dect_handle *dh, struct dect_fd *dfd); + extern ssize_t dect_raw_transmit(struct dect_handle *dh, struct dect_fd *dfd, uint8_t slot, struct dect_msg_buf *mb); diff --git a/src/raw.c b/src/raw.c index 27e8b1d..7dabc5e 100644 --- a/src/raw.c +++ b/src/raw.c @@ -147,7 +147,7 @@ static void dect_raw_event(struct dect_handle *dh, struct dect_fd *dfd, * * @param dh libdect handle */ -struct dect_fd *dect_raw_socket(struct dect_handle *dh) +struct dect_fd *dect_raw_open(struct dect_handle *dh) { struct sockaddr_dect da; struct dect_fd *dfd; @@ -177,6 +177,19 @@ err2: err1: return NULL; } -EXPORT_SYMBOL(dect_raw_socket); +EXPORT_SYMBOL(dect_raw_open); + +/** + * Close a DECT raw socket + * + * @param dh libdect handle + * qparam dfd raw socket descriptor + */ +void dect_raw_close(struct dect_handle *dh, struct dect_fd *dfd) +{ + dect_fd_unregister(dh, dfd); + dect_close(dh, dfd); +} +EXPORT_SYMBOL(dect_raw_close); /** @} */