equal
deleted
inserted
replaced
|
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 |
|
13 #ifdef CONFIG_PROFILING |
|
14 |
|
15 #include <linux/dcache.h> |
|
16 #include <linux/path.h> |
|
17 #include <linux/types.h> |
|
18 |
|
19 struct dcookie_user; |
|
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 */ |
|
47 int get_dcookie(struct path *path, unsigned long *cookie); |
|
48 |
|
49 #else |
|
50 |
|
51 static inline struct dcookie_user * dcookie_register(void) |
|
52 { |
|
53 return NULL; |
|
54 } |
|
55 |
|
56 static inline void dcookie_unregister(struct dcookie_user * user) |
|
57 { |
|
58 return; |
|
59 } |
|
60 |
|
61 static inline int get_dcookie(struct path *path, unsigned long *cookie) |
|
62 { |
|
63 return -ENOSYS; |
|
64 } |
|
65 |
|
66 #endif /* CONFIG_PROFILING */ |
|
67 |
|
68 #endif /* DCOOKIES_H */ |