root/include/linux/dcookies.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. dcookie_register
  2. dcookie_unregister
  3. get_dcookie

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

/* [<][>][^][v][top][bottom][index][help] */