mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-22 05:30:24 +00:00
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>
25 lines
512 B
C
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
|