---
name: "selabel_get_digests_all_partial_matches"
section: "3"
platform: "linux"
package: "libselinux1-dev"
version: "3.8.1-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/selabel_get_digests_all_partial_matches"
---

# selabel\_get\_digests\_all\_partial\_matches(3)

retrieve the partial matches digest and the xattr digest that applies to the supplied path - Only supported on file backend.

## 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.

## SYNOPSIS

**#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***);**

## DESCRIPTION

**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)](/free/3.md) the buffer.\
 The *xattr\_digest* is a pointer to the *key* [**xattr**(7)](/xattr/7.md) stored digest, or NULL if it does not exist. The caller must [**free**(3)](/free/3.md) 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.

## RETURN VALUE

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

## SEE ALSO

[**selinux\_restorecon**(3)](/selinux_restorecon/3.md), [**selabel\_partial\_match**(3)](/selabel_partial_match/3.md), [**selabel\_open**(3)](/selabel_open/3.md), [**selinux**(8)](/selinux/8.md), [**selabel\_file**(5)](/selabel_file/5.md)
