32 lines
992 B
C
32 lines
992 B
C
#ifndef UAPI_MONITOR_H
|
|
#define UAPI_MONITOR_H
|
|
// monitor_interface.h
|
|
#include "monitor_user_sw.h"
|
|
#include <string.h>
|
|
#include <sys/types.h>
|
|
#include <unistd.h>
|
|
|
|
#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 |