getfilecon(3) SELinux API documentation getfilecon(3)

# [NAME](#NAME)

getfilecon, fgetfilecon, lgetfilecon - get SELinux security context of a file

# [SYNOPSIS](#SYNOPSIS)

**#include &lt;selinux/selinux.h&gt;**

**int getfilecon(const char \*path, char \*\*con);**

**int getfilecon\_raw(const char \*path, char \*\*con);**

**int lgetfilecon(const char \*path, char \*\*con);**

**int lgetfilecon\_raw(const char \*path, char \*\*con);**

**int fgetfilecon(int fd, char \*\*con);**

**int fgetfilecon\_raw(int fd, char \*\*con);**

# [DESCRIPTION](#DESCRIPTION)

**getfilecon**() retrieves the context associated with the given path in the file system, the length of the context is returned.

**lgetfilecon**() is identical to **getfilecon**(), except in the case of a symbolic link, where the link itself is interrogated, not the file that it refers to.

**fgetfilecon**() is identical to **getfilecon**(), only the open file pointed to by filedes (as returned by [**open**(2)](/man/os/libselinux/open.2)) is interrogated in place of path. Since libselinux 3.4 a file opened via *O\_PATH* is supported.

**getfilecon\_raw**(), **lgetfilecon\_raw**() and **fgetfilecon\_raw**() behave identically to their non-raw counterparts but do not perform context translation.

The returned context should be freed with [**freecon**(3)](/man/os/libselinux/freecon.3) if non-NULL.

# [RETURN VALUE](#RETURN_VALUE)

On success, a positive number is returned indicating the size of the extended attribute value. On failure, -1 is returned and *errno* is set appropriately.

If the context does not exist, or the process has no access to this attribute, *errno* is set to **ENODATA**.

If extended attributes are not supported by the filesystem, or are disabled, *errno* is set to **ENOTSUP**.

The errors documented for the [**stat**(2)](/man/os/libselinux/stat.2) system call are also applicable here.

# [SEE ALSO](#SEE_ALSO)

[**selinux**(8)](/man/os/libselinux/selinux.8), [**freecon**(3)](/man/os/libselinux/freecon.3), [**setfilecon**(3)](/man/os/libselinux/setfilecon.3), [**setfscreatecon**(3)](/man/os/libselinux/setfscreatecon.3)

1 January 2004 russell@coker.com.au

---

Document: lgetfilecon_raw(3) from libselinux 3.11-r2 (Chainguard OS)
Source: https://github.com/SELinuxProject/selinux.git
