key_control.h revision bc2eb8c3fd621605ff1ccaed04a71e6685acc974
1#include <sys/cdefs.h>
2#include <sys/types.h>
3
4__BEGIN_DECLS
5
6// ext4enc:TODO - get these keyring standard definitions from proper system file
7// keyring serial number type
8typedef int32_t key_serial_t;
9
10// special process keyring shortcut IDs
11#define KEY_SPEC_THREAD_KEYRING       -1 // key ID for thread-specific keyring
12#define KEY_SPEC_PROCESS_KEYRING      -2 // key ID for process-specific keyring
13#define KEY_SPEC_SESSION_KEYRING      -3 // key ID for session-specific keyring
14#define KEY_SPEC_USER_KEYRING         -4 // key ID for UID-specific keyring
15#define KEY_SPEC_USER_SESSION_KEYRING -5 // key ID for UID-session keyring
16#define KEY_SPEC_GROUP_KEYRING        -6 // key ID for GID-specific keyring
17
18key_serial_t add_key(const char *type,
19                     const char *description,
20                     const void *payload,
21                     size_t plen,
22                     key_serial_t ringid);
23
24long keyctl_setperm(key_serial_t id, int permissions);
25
26long keyctl_search(key_serial_t ringid, const char *type,
27                   const char *description, key_serial_t destringid);
28
29__END_DECLS
30