home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / linux / dcookies.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.3 KB  |  69 lines

  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 */
  69.