diff options
Diffstat (limited to 'stacks/lwip_stack/lwip_src/core/global_tick.c')
-rw-r--r-- | stacks/lwip_stack/lwip_src/core/global_tick.c | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/stacks/lwip_stack/lwip_src/core/global_tick.c b/stacks/lwip_stack/lwip_src/core/global_tick.c index ee180c9..7a0feb2 100644 --- a/stacks/lwip_stack/lwip_src/core/global_tick.c +++ b/stacks/lwip_stack/lwip_src/core/global_tick.c @@ -15,10 +15,12 @@ */ #include "nsfw_mem_api.h" -#include "nstack_share_res.h" +#include "global_tick.h" #include "nstack_securec.h" +#include "nstack_share_res.h" -extern nstack_tick_info_t g_nstack_timer_tick; +/** global timer tick */ +nstack_tick_info_t g_nstack_timer_tick; int init_stackx_global_tick (void) @@ -46,3 +48,28 @@ init_stackx_global_tick (void) return 0; } + +int +nstack_lookup_share_global_tick () +{ + int ret; + nsfw_mem_name name = {.entype = NSFW_SHMEM,.enowner = NSFW_PROC_MAIN }; + + ret = STRCPY_S (name.aname, NSFW_MEM_NAME_LENGTH, NSTACK_GLOBAL_TICK_SHM); + if (EOK != ret) + { + NSSOC_LOGERR ("STRCPY_S failed]name=%s,ret=%d", NSTACK_GLOBAL_TICK_SHM, + ret); + return -1; + } + + g_nstack_timer_tick.tick_ptr = (uint64_t *) nsfw_mem_zone_lookup (&name); + if (NULL == g_nstack_timer_tick.tick_ptr) + { + NSPOL_LOGERR ("Failed to lookup global timer tick memory"); + return -1; + } + + NSSOC_LOGDBG ("ok"); + return 0; +} |