/* * ne_monitor.h -- provide iot-system thread protect operation interface. * * * ORIGINAL AUTHOR: * * Copyright (c) 2018 Netease Corporation */ #ifndef NE_MONITOR_H #define NE_MONITOR_H #include "c_types.h" #define NE_THREAD_MONITOR_CTX &ne_thread_monitor #define NE_THREAD_MONITOR_MAX 10 #define NE_THREAD_MONITOR_NAME_LEN 15 typedef struct { int8 name[NE_THREAD_MONITOR_NAME_LEN + 1]; int32 (*is_sick) (uint32 cmsec); uint32 check_interval; //unit- s uint32 lmsec; //unit- ms uint8 is_valid; }ne_thread_handle_t; typedef struct { ne_thread_handle_t thread_handle[NE_THREAD_MONITOR_MAX]; void *sema; uint8 init_flag; uint8 start_flag; uint8 run_flag; }ne_thread_monitor_t; #endif