.TH "selabel_get_digests_all_partial_matches" "3" "14 April 2019" "SELinux API documentation" .SH "NAME" selabel_get_digests_all_partial_matches \- retrieve the partial matches digest and the xattr digest that applies to the supplied path \- Only supported on file backend. . .SH "SYNOPSIS" .B #include .br .B #include .br .B #include .sp .BI "bool selabel_get_digests_all_partial_matches(" .in +\w'selabel_get_digests_all_partial_matches('u .BI "struct selabel_handle *" hnd , .br .BI "const char *" key , .br .BI "uint8_t **" calculated_digest , .br .BI "uint8_t **" xattr_digest , .br .BI "size_t *" digest_len ");" .in . .SH "DESCRIPTION" .BR selabel_get_digests_all_partial_matches () retrieves the file_contexts partial matches digest and the xattr digest that applies to the supplied path on the handle .IR hnd . .br The .IR key parameter is the path to retrieve the digests. .br The .IR calculated_digest is a pointer to the .IR key calculated file_contexts digest of all applicable partial matches, or NULL if none exist. The caller must .BR free (3) the buffer. .br The .IR xattr_digest is a pointer to the .IR key .BR xattr (7) stored digest, or NULL if it does not exist. The caller must .BR free (3) the buffer. .br The .IR digest_len is the length of the digests that will always be returned (even if both are NULL). Note that if both digests are returned, they will always be the same length. .sp .SH "RETURN VALUE" TRUE if the digests match or FALSE if they do not or either or both are missing. .sp .SH "SEE ALSO" .BR selinux_restorecon (3), .BR selabel_partial_match (3), .BR selabel_open (3), .BR selinux (8), .BR selabel_file (5)