dcookies.h
上传用户:szlgq88
上传日期:2009-04-28
资源大小:48287k
文件大小:1k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

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