Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
encrypted-type.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2010 IBM Corporation
3  * Copyright (C) 2010 Politecnico di Torino, Italy
4  * TORSEC group -- http://security.polito.it
5  *
6  * Authors:
7  * Mimi Zohar <[email protected]>
8  * Roberto Sassu <[email protected]>
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation, version 2 of the License.
13  */
14 
15 #ifndef _KEYS_ENCRYPTED_TYPE_H
16 #define _KEYS_ENCRYPTED_TYPE_H
17 
18 #include <linux/key.h>
19 #include <linux/rcupdate.h>
20 
22  struct rcu_head rcu;
23  char *format; /* datablob: format */
24  char *master_desc; /* datablob: master key name */
25  char *datalen; /* datablob: decrypted key length */
26  u8 *iv; /* datablob: iv */
27  u8 *encrypted_data; /* datablob: encrypted data */
28  unsigned short datablob_len; /* length of datablob */
29  unsigned short decrypted_datalen; /* decrypted data length */
30  unsigned short payload_datalen; /* payload data length */
31  unsigned short encrypted_key_format; /* encrypted key format */
32  u8 *decrypted_data; /* decrypted data */
33  u8 payload_data[0]; /* payload data + datablob + hmac */
34 };
35 
36 extern struct key_type key_type_encrypted;
37 
38 #endif /* _KEYS_ENCRYPTED_TYPE_H */