]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * dcookies.h | |
3 | * | |
4 | * Persistent cookie-path mappings | |
5 | * | |
6 | * Copyright 2002 John Levon <levon@movementarian.org> | |
7 | */ | |
8 | ||
9 | #ifndef DCOOKIES_H | |
10 | #define DCOOKIES_H | |
11 | ||
12 | #include <linux/config.h> | |
13 | ||
14 | #ifdef CONFIG_PROFILING | |
15 | ||
16 | #include <linux/types.h> | |
17 | ||
18 | struct dcookie_user; | |
19 | ||
20 | /** | |
21 | * dcookie_register - register a user of dcookies | |
22 | * | |
23 | * Register as a dcookie user. Returns %NULL on failure. | |
24 | */ | |
25 | struct dcookie_user * dcookie_register(void); | |
26 | ||
27 | /** | |
28 | * dcookie_unregister - unregister a user of dcookies | |
29 | * | |
30 | * Unregister as a dcookie user. This may invalidate | |
31 | * any dcookie values returned from get_dcookie(). | |
32 | */ | |
33 | void dcookie_unregister(struct dcookie_user * user); | |
34 | ||
35 | /** | |
36 | * get_dcookie - acquire a dcookie | |
37 | * | |
38 | * Convert the given dentry/vfsmount pair into | |
39 | * a cookie value. | |
40 | * | |
41 | * Returns -EINVAL if no living task has registered as a | |
42 | * dcookie user. | |
43 | * | |
44 | * Returns 0 on success, with *cookie filled in | |
45 | */ | |
46 | int get_dcookie(struct dentry * dentry, struct vfsmount * vfsmnt, | |
47 | unsigned long * cookie); | |
48 | ||
49 | #else | |
50 | ||
0072b138 | 51 | static inline struct dcookie_user * dcookie_register(void) |
1da177e4 LT |
52 | { |
53 | return NULL; | |
54 | } | |
55 | ||
0072b138 | 56 | static inline void dcookie_unregister(struct dcookie_user * user) |
1da177e4 LT |
57 | { |
58 | return; | |
59 | } | |
60 | ||
61 | static inline int get_dcookie(struct dentry * dentry, | |
62 | struct vfsmount * vfsmnt, unsigned long * cookie) | |
63 | { | |
64 | return -ENOSYS; | |
65 | } | |
66 | ||
67 | #endif /* CONFIG_PROFILING */ | |
68 | ||
69 | #endif /* DCOOKIES_H */ |