Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
include
keys
user-type.h
Go to the documentation of this file.
1
/* user-type.h: User-defined key type
2
*
3
* Copyright (C) 2005 Red Hat, Inc. All Rights Reserved.
4
* Written by David Howells (
[email protected]
)
5
*
6
* This program is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public License
8
* as published by the Free Software Foundation; either version
9
* 2 of the License, or (at your option) any later version.
10
*/
11
12
#ifndef _KEYS_USER_TYPE_H
13
#define _KEYS_USER_TYPE_H
14
15
#include <
linux/key.h
>
16
#include <
linux/rcupdate.h
>
17
18
/*****************************************************************************/
19
/*
20
* the payload for a key of type "user" or "logon"
21
* - once filled in and attached to a key:
22
* - the payload struct is invariant may not be changed, only replaced
23
* - the payload must be read with RCU procedures or with the key semaphore
24
* held
25
* - the payload may only be replaced with the key semaphore write-locked
26
* - the key's data length is the size of the actual data, not including the
27
* payload wrapper
28
*/
29
struct
user_key_payload
{
30
struct
rcu_head
rcu
;
/* RCU destructor */
31
unsigned
short
datalen
;
/* length of this data */
32
char
data
[0];
/* actual data */
33
};
34
35
extern
struct
key_type
key_type_user
;
36
extern
struct
key_type
key_type_logon
;
37
38
struct
key_preparsed_payload;
39
40
extern
int
user_instantiate
(
struct
key
*
key
,
struct
key_preparsed_payload *prep);
41
extern
int
user_update
(
struct
key
*
key
,
struct
key_preparsed_payload *prep);
42
extern
int
user_match
(
const
struct
key
*
key
,
const
void
*criterion);
43
extern
void
user_revoke
(
struct
key
*
key
);
44
extern
void
user_destroy
(
struct
key
*
key
);
45
extern
void
user_describe
(
const
struct
key
*
user
,
struct
seq_file
*
m
);
46
extern
long
user_read
(
const
struct
key
*
key
,
47
char
__user *
buffer
,
size_t
buflen
);
48
49
50
#endif
/* _KEYS_USER_TYPE_H */
Generated on Thu Jan 10 2013 14:51:00 for Linux Kernel by
1.8.2