PK œqhYî¶J‚ßFßF)nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/ $#$#$#

Dir : /usr/src/file_protector-1.1-1592/ftrace_hooks/
Server: Linux ituca148.hostpapavps.net 4.18.0-553.141.2.el8_10.x86_64 #1 SMP Wed Jul 8 10:28:18 EDT 2026 x86_64
IP: 216.7.89.187
Choose File :

Url:
Dir : //usr/src/file_protector-1.1-1592/ftrace_hooks/ftrace_events.h

/**
@file     ftrace_events.h
@brief    Events acquired via ftrace
@details  Copyright (c) 2024 Acronis International GmbH
@author   Bruce Wang (bruce.wang@acronis.com)
@since    $Id: $
*/

#pragma once

#include <linux/ftrace.h>
#include <linux/types.h>
#ifdef KERNEL_MOCK
#include "mock/mock.h"
#endif

void register_ftrace_post_events(void);
void unregister_ftrace_post_events(void);

typedef enum {
	FTRACE_POST_EVENT_FSNOTIFY,
	FTRACE_POST_EVENT_EXEC,
	FTRACE_POST_EVENT_EXIT,
	FTRACE_POST_EVENT_FORK,
	FTRACE_POST_EVENT_AUDIT,
	FTRACE_PRE_EVENT_RW_VERIFY_AREA,
	FTRACE_PRE_EVENT_CLONE_FILE_RANGE,
	FTRACE_PRE_EVENT_COPY_FILE_RANGE,
	FTRACE_PRE_EVENT_DO_SPLICE_DIRECT,
} ftrace_post_event_type_t;

typedef struct
{
	struct ftrace_ops ops;
	unsigned long fn;
	const char *name;
	bool registered;
} fp_probe_t;

bool ftrace_post_event_have(ftrace_post_event_type_t);
int register_ftrace_post_event(fp_probe_t *probe, struct ftrace_ops *ops);
void unregister_ftrace_post_event(fp_probe_t *probe);