#include <keyutils.h> key_serial_t find_key_by_type_and_name(const char *type, const char *description, key_serial_t destringid);
find_key_by_type_and_name() searches for a key with the given type and exact description, firstly in the thread, process and session keyrings to which a process is subscribed and secondly in /proc/keys.
If a key is found, and destringid is not 0 and specifies a keyring, then the found key will be linked into it.
The function returns the ID of the key if a key was found or -1 otherwise.
No key was found or the keyring specified is invalid.
The key or keyring have expired.
The key or keyring have been revoked.
The key is not accessible or keyring exists, but is not writable by the calling process.
When linking, -lkeyutils should be specified to the linker.
request_key(2), keyctl(3), keyrings(7)