KEYUTILS_0.3 {

	/* primary syscalls; may be overridden by glibc */
	add_key;
	request_key;
	keyctl;

	/* management functions */
	keyctl_chown;
	keyctl_clear;
	keyctl_describe;
	keyctl_describe_alloc;
	keyctl_get_keyring_ID;
	keyctl_instantiate;
	keyctl_join_session_keyring;
	keyctl_link;
	keyctl_negate;
	keyctl_read;
	keyctl_read_alloc;
	keyctl_revoke;
	keyctl_search;
	keyctl_setperm;
	keyctl_set_reqkey_keyring;
	keyctl_unlink;
	keyctl_update;
	 
};

KEYUTILS_1.0 {
	/* management functions */
	keyctl_assume_authority;
	keyctl_set_timeout;

} KEYUTILS_0.3;

KEYUTILS_1.3 {
	/* management functions */
	keyctl_get_security;
	keyctl_get_security_alloc;
	keyctl_session_to_parent;

} KEYUTILS_1.0;

KEYUTILS_1.4 {
	/* management functions */
	keyctl_reject;
	keyctl_instantiate_iov;
	keyctl_invalidate;

	/* utility functions */
	recursive_key_scan;
	recursive_session_key_scan;

} KEYUTILS_1.3;

KEYUTILS_1.5 {
	/* management functions */
	keyctl_get_persistent;

	/* utility functions */
	find_key_by_type_and_desc;

} KEYUTILS_1.4;
