---
name: "kldstat"
section: "2"
platform: "linux"
package: "freebsd-manpages"
version: "6.0-5"
release: "Debian 4.0 (Etch)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/kldstat/2"
---

# kldstat(2)

get status of kld file

## NAME

**kldstat** – get status of kld file

## LIBRARY

Standard C Library (libc, -lc)

## SYNOPSIS

**#include \<sys/param.h\>**

**#include \<sys/linker.h\>**

*int*\

**kldstat**(*int fileid*, *struct kld\_file\_stat \*stat*);

## DESCRIPTION

The **kldstat**() system call writes the info for the file referred to by *fileid* into *stat*.

```
struct kld_file_stat {
	int         version;        /* set to sizeof(linker_file_stat) */
	char        name[MAXPATHLEN];
	int         refs;
	int         id;
	caddr_t     address;        /* load address */
	size_t      size;           /* size in bytes */
};
```

- version

  This field is set to the size of the structure mentioned above by the code calling **kldstat**(), and not **kldstat**() itself.

- name

  The name of the file referred to by *fileid*.

- refs

  The number of modules referenced by *fileid*.

- id

  The id of the file specified in *fileid*.

- address

  The load address of the kld file.

- size

  The size of the file.

## RETURN VALUES

The **kldstat()** function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

## ERRORS

The information for the file referred to by *fileid* is filled into the structure pointed to by *stat* unless:

- \[ENOENT\]

  The file was not found (probably not loaded).

- \[EINVAL\]

  The version specified in the *version* field of stat is not the proper version. You would need to rebuild world, the kernel, or your application, if this error occurs, given that you did properly fill in the *version* field.

- \[EFAULT\]

  There was a problem copying one, some, or all of the fields into *stat* in the [copyout(9)](/copyout/9.md) function.

## SEE ALSO

[kldfind(2)](/kldfind/2.md), [kldfirstmod(2)](/kldfirstmod/2.md), [kldload(2)](/kldload/2.md), [kldnext(2)](/kldnext/2.md), [kldsym(2)](/kldsym/2.md), [kldunload(2)](/kldunload/2.md), [modfind(2)](/modfind/2.md), [modfnext(2)](/modfnext/2.md), [modnext(2)](/modnext/2.md), [modstat(2)](/modstat/2.md), [kld(4)](/kld/4.md), [kldstat(8)](/kldstat/8.md)

## HISTORY

The **kld** interface first appeared in FreeBSD 3.0.
