Initial import of the muenevents Linux kernel module
[muen/linux/muenevents.git] / main.c
1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * Muen source events file system.
4  *
5  * Copyright (C) 2020  secunet Security Networks AG
6  * Copyright (C) 2020  codelabs GmbH
7  *
8  * This program is free software; you can redistribute it and/or modify it
9  * under the terms and conditions of the GNU General Public License,
10  * version 2, as published by the Free Software Foundation.
11  *
12  * This program is distributed in the hope it will be useful, but WITHOUT
13  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
15  * more details.
16  *
17  * You should have received a copy of the GNU General Public License along with
18  * this program; if not, write to the Free Software Foundation, Inc.,
19  * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
20  */
21
22 /**
23  * @file main.c
24  * @brief Muenevents register/unregister functionality.
25  *
26  * These routines are dealing with file system initialization and cleanup.
27  */
28
29 #include <linux/module.h>
30 #include <linux/fs.h>
31
32 #include "internal.h"
33
34 /**
35  * @brief Module initialization.
36  *
37  * This function registers the Muen events file system.
38  *
39  * @return 0 on success, negative values on error
40  */
41 static int __init muenevents_init(void)
42 {
43         return register_filesystem(&muenevents_type);
44 }
45
46 /**
47  * @brief Module finalization.
48  *
49  * This function unregisters the Muen events file system.
50  */
51 static void __exit muenevents_exit(void)
52 {
53         unregister_filesystem(&muenevents_type);
54 }
55
56 module_init(muenevents_init);
57 module_exit(muenevents_exit);
58
59 MODULE_DESCRIPTION("Muen SK source events file system");
60 MODULE_LICENSE("GPL");
61 MODULE_AUTHOR("Adrian-Ken Rueegsegger <ken@codelabs.ch>");