#include <linux/miscdevice.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/proc_fs.h>
#include <linux/efi.h>
#include <linux/security.h>
#include <linux/slab.h>
#include <linux/uaccess.h>
#include "efi_test.h"
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
static inline size_t user_ucs2_strsize(efi_char16_t __user *str)
{ … }
static inline int
copy_ucs2_from_user_len(efi_char16_t **dst, efi_char16_t __user *src,
size_t len)
{ … }
static inline int
get_ucs2_strsize_from_user(efi_char16_t __user *src, size_t *len)
{ … }
static inline int
copy_ucs2_from_user(efi_char16_t **dst, efi_char16_t __user *src)
{ … }
static inline int
copy_ucs2_to_user_len(efi_char16_t __user *dst, efi_char16_t *src, size_t len)
{ … }
static long efi_runtime_get_variable(unsigned long arg)
{ … }
static long efi_runtime_set_variable(unsigned long arg)
{ … }
static long efi_runtime_get_time(unsigned long arg)
{ … }
static long efi_runtime_set_time(unsigned long arg)
{ … }
static long efi_runtime_get_waketime(unsigned long arg)
{ … }
static long efi_runtime_set_waketime(unsigned long arg)
{ … }
static long efi_runtime_get_nextvariablename(unsigned long arg)
{ … }
static long efi_runtime_get_nexthighmonocount(unsigned long arg)
{ … }
static long efi_runtime_reset_system(unsigned long arg)
{ … }
static long efi_runtime_query_variableinfo(unsigned long arg)
{ … }
static long efi_runtime_query_capsulecaps(unsigned long arg)
{ … }
static long efi_runtime_get_supported_mask(unsigned long arg)
{ … }
static long efi_test_ioctl(struct file *file, unsigned int cmd,
unsigned long arg)
{ … }
static int efi_test_open(struct inode *inode, struct file *file)
{ … }
static int efi_test_close(struct inode *inode, struct file *file)
{ … }
static const struct file_operations efi_test_fops = …;
static struct miscdevice efi_test_dev = …;
static int __init efi_test_init(void)
{ … }
static void __exit efi_test_exit(void)
{ … }
module_init(…) …;
module_exit(efi_test_exit);