esp8266-std/include/ne_monitor.h

41 lines
779 B
C

/*
* 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