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