root/lib/notifier-error-inject.h
/* SPDX-License-Identifier: GPL-2.0 */
#include <linux/atomic.h>
#include <linux/debugfs.h>
#include <linux/notifier.h>

struct notifier_err_inject_action {
        unsigned long val;
        int error;
        const char *name;
};

#define NOTIFIER_ERR_INJECT_ACTION(action)      \
        .name = #action, .val = (action),

struct notifier_err_inject {
        struct notifier_block nb;
        struct notifier_err_inject_action actions[];
        /* The last slot must be terminated with zero sentinel */
};

extern struct dentry *notifier_err_inject_dir;

extern struct dentry *notifier_err_inject_init(const char *name,
                struct dentry *parent, struct notifier_err_inject *err_inject,
                int priority);