2013-04-09 14:00:20 +07:00
|
|
|
#pragma once
|
|
|
|
|
2013-05-02 23:22:57 +07:00
|
|
|
#include <errno.h>
|
2013-04-09 14:16:57 +07:00
|
|
|
#include <unistd.h>
|
|
|
|
#include <sys/syscall.h>
|
|
|
|
|
2013-04-09 14:00:20 +07:00
|
|
|
#ifdef HAVE_LINUX_MODULE_H
|
|
|
|
#include <linux/module.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef MODULE_INIT_IGNORE_MODVERSIONS
|
|
|
|
# define MODULE_INIT_IGNORE_MODVERSIONS 1
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef MODULE_INIT_IGNORE_VERMAGIC
|
|
|
|
# define MODULE_INIT_IGNORE_VERMAGIC 2
|
|
|
|
#endif
|
2013-04-09 14:16:57 +07:00
|
|
|
|
|
|
|
#ifndef HAVE_FINIT_MODULE
|
|
|
|
static inline int finit_module(int fd, const char *uargs, int flags)
|
|
|
|
{
|
2013-05-02 23:22:57 +07:00
|
|
|
#ifndef __NR_finit_module
|
|
|
|
errno = ENOSYS;
|
|
|
|
return -1;
|
|
|
|
#else
|
2013-04-09 14:16:57 +07:00
|
|
|
return syscall(__NR_finit_module, fd, uargs, flags);
|
2013-05-02 23:22:57 +07:00
|
|
|
#endif
|
2013-04-09 14:16:57 +07:00
|
|
|
}
|
|
|
|
#endif
|