acrn-hypervisor/tools/acrn-crashlog/acrnprobe/include/channels.h
Liu Xinwu 9caa5d72cf tools: acrn-crashlog: channel module for acrnprobe
The channel represents a way of detecting the system's events.
So far, there are 3 channels:
1. oneshot, detect once while acrnprobe startup.
2. polling, run a detecting job with fixed time interval.
3. inotify, watch the change of file or dir.

Signed-off-by: Liu Xinwu <xinwu.liu@intel.com>
Reviewed-by: Zhang Yanmin <yanmin.zhang@intel.com>
Reviewed-by: Liu Chuansheng <chuansheng.liu@intel.com>
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
Reviewed-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
Acked-by: Eddie Dong <Eddie.dong@intel.com>
2018-05-23 17:10:51 +08:00

25 lines
512 B
C

/*
* Copyright (C) 2018 Intel Corporation
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef _CHANNELS_H
#define _CHANNELS_H
#define BASE_DIR_MASK (IN_CLOSE_WRITE | IN_DELETE_SELF | IN_MOVE_SELF)
#define UPTIME_MASK IN_CLOSE_WRITE
#define MAXEVENTS 15
#define HEART_RATE (6 * 1000) /* ms */
struct channel_t {
char *name;
int fd;
void (*channel_fn)(struct channel_t *);
};
extern int create_detached_thread(pthread_t *pid,
void *(*fn)(void *), void *arg);
extern int init_channels(void);
#endif