.TH "getfilecon" "3" "1 January 2004" "russell@coker.com.au" "SELinux API documentation" .SH "NAME" getfilecon, fgetfilecon, lgetfilecon \- get SELinux security context of a file . .SH "SYNOPSIS" .B #include .sp .BI "int getfilecon(const char *" path ", char **" con ); .sp .BI "int getfilecon_raw(const char *" path ", char **" con ); .sp .BI "int lgetfilecon(const char *" path ", char **" con ); .sp .BI "int lgetfilecon_raw(const char *" path ", char **" con ); .sp .BI "int fgetfilecon(int "fd ", char **" con ); .sp .BI "int fgetfilecon_raw(int "fd ", char **" con ); . .SH "DESCRIPTION" .BR getfilecon () retrieves the context associated with the given path in the file system, the length of the context is returned. .BR lgetfilecon () is identical to .BR getfilecon (), except in the case of a symbolic link, where the link itself is interrogated, not the file that it refers to. .BR fgetfilecon () is identical to .BR getfilecon (), only the open file pointed to by filedes (as returned by .BR open (2)) is interrogated in place of path. Since libselinux 3.4 a file opened via .I O_PATH is supported. .BR getfilecon_raw (), .BR lgetfilecon_raw () and .BR fgetfilecon_raw () behave identically to their non-raw counterparts but do not perform context translation. The returned context should be freed with .BR freecon (3) if non-NULL. . .SH "RETURN VALUE" On success, a positive number is returned indicating the size of the extended attribute value. On failure, \-1 is returned and .I errno is set appropriately. If the context does not exist, or the process has no access to this attribute, .I errno is set to .BR ENODATA . If extended attributes are not supported by the filesystem, or are disabled, .I errno is set to .BR ENOTSUP . The errors documented for the .BR stat (2) system call are also applicable here. . .SH "SEE ALSO" .BR selinux "(8), " freecon "(3), " setfilecon "(3), " setfscreatecon "(3)"