#ifndef UAPI_MONITOR_H #define UAPI_MONITOR_H // monitor_interface.h #include "monitor_user_sw.h" #include #include #include #define MAX_NAME_LEN (15) // max name length typedef struct { pid_t task_id; // current process id char name[MAX_NAME_LEN + 1]; // name void *ptr; // virtual address int length_byte; // byte long long threshold; // threshold value unsigned char unsigned_flag; // unsigned flag (true: unsigned, false: signed) unsigned char above_threshold; // reverse flag (true: >, false: <) unsigned long time_ns; // timer interval (ns) } watch_arg; void init_watch_arg(watch_arg *wg, char *name, void *ptr, int length_byte, long long threshold, unsigned char unsigned_flag, unsigned char above_threshold, unsigned long time_ns); // start watch int start_watch(watch_arg w_arg); // cancel watch int cancel_watch(void); #endif