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 | ||
1da177e4 LT |
12 | |
13 | #ifdef CONFIG_PROFILING | |
14 | ||
1474855d | 15 | #include <linux/dcache.h> |
1da177e4 LT |
16 | #include <linux/types.h> |
17 | ||
18 | struct dcookie_user; | |
37721e1b | 19 | struct path; |
1da177e4 LT |
20 | |
21 | /** | |
22 | * dcookie_register - register a user of dcookies | |
23 | * | |
24 | * Register as a dcookie user. Returns %NULL on failure. | |
25 | */ | |
26 | struct dcookie_user * dcookie_register(void); | |
27 | ||
28 | /** | |
29 | * dcookie_unregister - unregister a user of dcookies | |
30 | * | |
31 | * Unregister as a dcookie user. This may invalidate | |
32 | * any dcookie values returned from get_dcookie(). | |
33 | */ | |
34 | void dcookie_unregister(struct dcookie_user * user); | |
35 | ||
36 | /** | |
37 | * get_dcookie - acquire a dcookie | |
38 | * | |
39 | * Convert the given dentry/vfsmount pair into | |
40 | * a cookie value. | |
41 | * | |
42 | * Returns -EINVAL if no living task has registered as a | |
43 | * dcookie user. | |
44 | * | |
45 | * Returns 0 on success, with *cookie filled in | |
46 | */ | |
448678a0 | 47 | int get_dcookie(struct path *path, unsigned long *cookie); |
1da177e4 LT |
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 | } | |
448678a0 JB |
60 | |
61 | static inline int get_dcookie(struct path *path, unsigned long *cookie) | |
1da177e4 LT |
62 | { |
63 | return -ENOSYS; | |
448678a0 JB |
64 | } |
65 | ||
1da177e4 | 66 | #endif /* CONFIG_PROFILING */ |
448678a0 | 67 | |
1da177e4 | 68 | #endif /* DCOOKIES_H */ |