From dd9f975dca6b4790402ddf660d005e8654651ecc Mon Sep 17 00:00:00 2001 From: SPRESENSE <41312067+SPRESENSE@users.noreply.github.com> Date: Mon, 28 Nov 2022 18:41:29 +0900 Subject: [PATCH] lte/alt1250: Add internal function to get number of opened sockets Add internal function to get number of opened sockets for ckecking condition to enter hibernation mode. --- lte/alt1250/alt1250_daemon.h | 1 + lte/alt1250/alt1250_main.c | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/lte/alt1250/alt1250_daemon.h b/lte/alt1250/alt1250_daemon.h index 8ae957f252..7168877c17 100644 --- a/lte/alt1250/alt1250_daemon.h +++ b/lte/alt1250/alt1250_daemon.h @@ -133,6 +133,7 @@ struct alt1250_s #ifdef CONFIG_LTE_ALT1250_ENABLE_HIBERNATION_MODE int alt1250_set_api_enable(FAR struct alt1250_s *dev, bool enable); +int alt1250_count_opened_sockets(FAR struct alt1250_s *dev); #endif #endif /* __LTE_ALT1250_ALT1250_DAEMON_H__ */ diff --git a/lte/alt1250/alt1250_main.c b/lte/alt1250/alt1250_main.c index 30393db781..0f03246714 100644 --- a/lte/alt1250/alt1250_main.c +++ b/lte/alt1250/alt1250_main.c @@ -283,4 +283,27 @@ int alt1250_set_api_enable(FAR struct alt1250_s *dev, bool enable) return OK; } + +int alt1250_count_opened_sockets(FAR struct alt1250_s *dev) +{ + int ret = 0; + int i = 0; + FAR struct usock_s *sock; + + if (!dev) + { + return ERROR; + } + + for (i = 0; i < ARRAY_SZ(dev->sockets); i++) + { + sock = &dev->sockets[i]; + if (sock->state != SOCKET_STATE_CLOSED) + { + ret ++; + } + } + + return ret; +} #endif