keys: add new trusted key-type
[sfrench/cifs-2.6.git] / include / keys / trusted-type.h
1 /*
2  * Copyright (C) 2010 IBM Corporation
3  * Author: David Safford <safford@us.ibm.com>
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation, version 2 of the License.
8  */
9
10 #ifndef _KEYS_TRUSTED_TYPE_H
11 #define _KEYS_TRUSTED_TYPE_H
12
13 #include <linux/key.h>
14 #include <linux/rcupdate.h>
15
16 #define MIN_KEY_SIZE                    32
17 #define MAX_KEY_SIZE                    128
18 #define MAX_BLOB_SIZE                   320
19
20 struct trusted_key_payload {
21         struct rcu_head rcu;
22         unsigned int key_len;
23         unsigned int blob_len;
24         unsigned char migratable;
25         unsigned char key[MAX_KEY_SIZE + 1];
26         unsigned char blob[MAX_BLOB_SIZE];
27 };
28
29 extern struct key_type key_type_trusted;
30
31 #endif /* _KEYS_TRUSTED_TYPE_H */