KLDLOAD(2)

NAME
kldload - load KLD files into the kernel

LIBRARY
libc

SYNOPSIS
#include <sys/param.h>
#include <sys/linker.h>
int
kldload(const char *file);

DESCRIPTION
The function kldload() loads a kld file into the kernel using the kernel linker. The file argument may be specified as a bare filename, e.g., file.ko, and it will be searched within the module path as defined by the sysctl kern.module_path. To load a kld file from a specific location including the current directory, specify a full or relative in file.

RETURN VALUES
The function kldload() returns the fileid of the kld file which was loaded into the kernel. If an error occurs, kldload() will return -1 and set errno to indicate the error.

ERRORS
The named file is loaded unless:

[EPERM]
    You do not have access to read the file or link it with the kernel. You should be the root user to be able to use the kld functions.

[EPERM]
    The kernel security level prevented a kld file from being loaded. Refer to security(7) for details.

[EFAULT]
    Bad address encountered when adding kld info into the kernel space.

[ENOMEM]
    There is no memory to load the file into the kernel.

[ENOENT]
    The file was not found.

[ENOEXEC]
    The file format of file was unrecognized.

[EEXIST]
    The supplied file has already been loaded.

SEE ALSO
kldfind(2), kldfirstmod(2), kldnext(2), kldstat(2), kldsym(2), kldunload(2), modfind(2), modfnext(2), modnext(2), modstat(2), kld(4), kldload(8)

HISTORY
The kld interface first appeared in FreeBSD 3.0.