/**
@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/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_post_event_type_t;

bool ftrace_post_event_have(ftrace_post_event_type_t);
