aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux/keyctl.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/uapi/linux/keyctl.h')
-rw-r--r--include/uapi/linux/keyctl.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/include/uapi/linux/keyctl.h b/include/uapi/linux/keyctl.h
index f45ee0f69c0c..ed3d5893830d 100644
--- a/include/uapi/linux/keyctl.h
+++ b/include/uapi/linux/keyctl.h
@@ -67,6 +67,8 @@
67#define KEYCTL_PKEY_SIGN 27 /* Create a public key signature */ 67#define KEYCTL_PKEY_SIGN 27 /* Create a public key signature */
68#define KEYCTL_PKEY_VERIFY 28 /* Verify a public key signature */ 68#define KEYCTL_PKEY_VERIFY 28 /* Verify a public key signature */
69#define KEYCTL_RESTRICT_KEYRING 29 /* Restrict keys allowed to link to a keyring */ 69#define KEYCTL_RESTRICT_KEYRING 29 /* Restrict keys allowed to link to a keyring */
70#define KEYCTL_MOVE 30 /* Move keys between keyrings */
71#define KEYCTL_CAPABILITIES 31 /* Find capabilities of keyrings subsystem */
70 72
71/* keyctl structures */ 73/* keyctl structures */
72struct keyctl_dh_params { 74struct keyctl_dh_params {
@@ -112,4 +114,21 @@ struct keyctl_pkey_params {
112 __u32 __spare[7]; 114 __u32 __spare[7];
113}; 115};
114 116
117#define KEYCTL_MOVE_EXCL 0x00000001 /* Do not displace from the to-keyring */
118
119/*
120 * Capabilities flags. The capabilities list is an array of 8-bit integers;
121 * each integer can carry up to 8 flags.
122 */
123#define KEYCTL_CAPS0_CAPABILITIES 0x01 /* KEYCTL_CAPABILITIES supported */
124#define KEYCTL_CAPS0_PERSISTENT_KEYRINGS 0x02 /* Persistent keyrings enabled */
125#define KEYCTL_CAPS0_DIFFIE_HELLMAN 0x04 /* Diffie-Hellman computation enabled */
126#define KEYCTL_CAPS0_PUBLIC_KEY 0x08 /* Public key ops enabled */
127#define KEYCTL_CAPS0_BIG_KEY 0x10 /* big_key-type enabled */
128#define KEYCTL_CAPS0_INVALIDATE 0x20 /* KEYCTL_INVALIDATE supported */
129#define KEYCTL_CAPS0_RESTRICT_KEYRING 0x40 /* KEYCTL_RESTRICT_KEYRING supported */
130#define KEYCTL_CAPS0_MOVE 0x80 /* KEYCTL_MOVE supported */
131#define KEYCTL_CAPS1_NS_KEYRING_NAME 0x01 /* Keyring names are per-user_namespace */
132#define KEYCTL_CAPS1_NS_KEY_TAG 0x02 /* Key indexing can include a namespace tag */
133
115#endif /* _LINUX_KEYCTL_H */ 134#endif /* _LINUX_KEYCTL_H */