DOKK / manpages / debian 12 / libselinux1-dev / selabel_get_digests_all_partial_matches.3.en
selabel_get_digests_all_partial_matches(3) Library Functions Manual selabel_get_digests_all_partial_matches(3)

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.

#include <stdbool.h>
#include <selinux/selinux.h>
#include <selinux/label.h>

bool selabel_get_digests_all_partial_matches(
struct selabel_handle *hnd,
const char *key,
uint8_t **calculated_digest,
uint8_t **xattr_digest,
size_t *digest_len);

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 hnd.
The key parameter is the path to retrieve the digests.
The calculated_digest is a pointer to the key calculated file_contexts digest of all applicable partial matches, or NULL if none exist. The caller must free(3) the buffer.
The xattr_digest is a pointer to the key xattr(7) stored digest, or NULL if it does not exist. The caller must free(3) the buffer.
The 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.

TRUE if the digests match or FALSE if they do not or either or both are missing.

selinux_restorecon(3), selabel_partial_match(3), selabel_open(3), selinux(8), selabel_file(5)

14 April 2019 SELinux API documentation