[BACK]Return to namei.h CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / sys

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/sys/namei.h between version 1.60 and 1.60.4.3

version 1.60, 2008/04/11 15:51:38 version 1.60.4.3, 2010/03/11 15:04:42
Line 1 
Line 1 
 /*      $NetBSD$        */  /*      $NetBSD$        */
   
   
 /*  /*
  * WARNING: GENERATED FILE.  DO NOT EDIT   * WARNING: GENERATED FILE.  DO NOT EDIT
  * (edit namei.src and run make namei)   * (edit namei.src and run make namei in src/sys/sys)
  *   by:   NetBSD: gennameih.awk,v 1.1 2007/08/15 14:08:11 pooka Exp   *   by:   NetBSD: gennameih.awk,v 1.4 2008/12/03 10:54:27 ad Exp
  *   from: NetBSD: namei.src,v 1.8 2008/04/11 15:51:25 ad Exp   *   from: NetBSD: namei.src,v 1.14 2009/12/23 01:09:24 pooka Exp
  */   */
   
 /*  /*
Line 107  struct nameidata {
Line 108  struct nameidata {
 /*  /*
  * namei operational modifier flags, stored in ni_cnd.cn_flags   * namei operational modifier flags, stored in ni_cnd.cn_flags
  */   */
 #define LOCKLEAF        0x0004  /* lock inode on return */  #define LOCKLEAF        0x00000004      /* lock inode on return */
 #define LOCKPARENT      0x0008  /* want parent vnode returned locked */  #define LOCKPARENT      0x00000008      /* want parent vnode returned locked */
 #define NOCACHE         0x0020  /* name must not be left in cache */  #define TRYEMULROOT     0x00000010      /* try relative to emulation root
 #define FOLLOW          0x0040  /* follow symbolic links */                                             first */
 #define NOFOLLOW        0x0000  /* do not follow symbolic links (pseudo) */  #define NOCACHE         0x00000020      /* name must not be left in cache */
 #define TRYEMULROOT     0x0010  /* try relative to emulation root first */  #define FOLLOW          0x00000040      /* follow symbolic links */
 #define EMULROOTSET     0x0080  /* emulation root already in ni_erootdir */  #define NOFOLLOW        0x00000000      /* do not follow symbolic links
 #define MODMASK         0x00fc  /* mask of operational modifiers */                                             (pseudo) */
   #define EMULROOTSET     0x00000080      /* emulation root already
                                              in ni_erootdir */
   #define NOCHROOT        0x01000000      /* no chroot on abs path lookups */
   #define MODMASK         0x010000fc      /* mask of operational modifiers */
 /*  /*
  * Namei parameter descriptors.   * Namei parameter descriptors.
  *   *
Line 142  struct nameidata {
Line 147  struct nameidata {
 #define DOWHITEOUT      0x0040000       /* do whiteouts */  #define DOWHITEOUT      0x0040000       /* do whiteouts */
 #define REQUIREDIR      0x0080000       /* must be a directory */  #define REQUIREDIR      0x0080000       /* must be a directory */
 #define CREATEDIR       0x0200000       /* trailing slashes are ok */  #define CREATEDIR       0x0200000       /* trailing slashes are ok */
 #define PARAMASK        0x02fff00       /* mask of parameter descriptors */  #define INRENAME        0x0400000       /* operation is a part of ``rename'' */
   #define PARAMASK        0x06fff00       /* mask of parameter descriptors */
   
 /*  /*
  * Initialization of an nameidata structure.   * Initialization of an nameidata structure.
Line 199  extern pool_cache_t pnbuf_cache; /* path
Line 205  extern pool_cache_t pnbuf_cache; /* path
 #define PNBUF_GET()     pool_cache_get(pnbuf_cache, PR_WAITOK)  #define PNBUF_GET()     pool_cache_get(pnbuf_cache, PR_WAITOK)
 #define PNBUF_PUT(pnb)  pool_cache_put(pnbuf_cache, (pnb))  #define PNBUF_PUT(pnb)  pool_cache_put(pnbuf_cache, (pnb))
   
   /*
    * Typesafe flags for namei_simple.
    *
    * This encoding is not optimal but serves the important purpose of
    * not being type-compatible with the regular namei flags.
    */
   struct namei_simple_flags_type; /* Opaque. */
   typedef const struct namei_simple_flags_type *namei_simple_flags_t; /* Gross. */
   extern const namei_simple_flags_t
           NSM_NOFOLLOW_NOEMULROOT,
           NSM_NOFOLLOW_TRYEMULROOT,
           NSM_FOLLOW_NOEMULROOT,
           NSM_FOLLOW_TRYEMULROOT;
   
   /*
    * namei_simple_* - the simple cases of namei, with no struct
    *                  nameidata involved.
    *
    * namei_simple_kernel takes a kernel-space path as the first argument.
    * namei_simple_user takes a user-space path as the first argument.
    *
    * A namei call can be converted to namei_simple_* if:
    *    - the second arg to NDINIT is LOOKUP;
    *    - it does not need the parent vnode, nd.ni_dvp;
    *    - the only flags it uses are (NO)FOLLOW and TRYEMULROOT;
    *    - it does not do anything else gross with the contents of nd.
    */
   int namei_simple_kernel(const char *, namei_simple_flags_t, struct vnode **);
   int namei_simple_user(const char *, namei_simple_flags_t, struct vnode **);
   
 int     namei(struct nameidata *);  int     namei(struct nameidata *);
 uint32_t namei_hash(const char *, const char **);  uint32_t namei_hash(const char *, const char **);
 int     lookup(struct nameidata *);  int     lookup_for_nfsd(struct nameidata *, struct vnode *, int neverfollow);
   int     lookup_for_nfsd_index(struct nameidata *);
 int     relookup(struct vnode *, struct vnode **, struct componentname *);  int     relookup(struct vnode *, struct vnode **, struct componentname *);
 void    cache_purge1(struct vnode *, const struct componentname *, int);  void    cache_purge1(struct vnode *, const struct componentname *, int);
 #define PURGE_PARENTS   1  #define PURGE_PARENTS   1
Line 248  extern struct nchstats nchstats;
Line 285  extern struct nchstats nchstats;
 #define NAMEI_DELETE    2  #define NAMEI_DELETE    2
 #define NAMEI_RENAME    3  #define NAMEI_RENAME    3
 #define NAMEI_OPMASK    3  #define NAMEI_OPMASK    3
 #define NAMEI_LOCKLEAF  0x0004  #define NAMEI_LOCKLEAF  0x00000004
 #define NAMEI_LOCKPARENT        0x0008  #define NAMEI_LOCKPARENT        0x00000008
 #define NAMEI_NOCACHE   0x0020  #define NAMEI_TRYEMULROOT       0x00000010
 #define NAMEI_FOLLOW    0x0040  #define NAMEI_NOCACHE   0x00000020
 #define NAMEI_NOFOLLOW  0x0000  #define NAMEI_FOLLOW    0x00000040
 #define NAMEI_TRYEMULROOT       0x0010  #define NAMEI_NOFOLLOW  0x00000000
 #define NAMEI_EMULROOTSET       0x0080  #define NAMEI_EMULROOTSET       0x00000080
 #define NAMEI_MODMASK   0x00fc  #define NAMEI_NOCHROOT  0x01000000
   #define NAMEI_MODMASK   0x010000fc
 #define NAMEI_NOCROSSMOUNT      0x0000100  #define NAMEI_NOCROSSMOUNT      0x0000100
 #define NAMEI_RDONLY    0x0000200  #define NAMEI_RDONLY    0x0000200
 #define NAMEI_HASBUF    0x0000400  #define NAMEI_HASBUF    0x0000400
Line 269  extern struct nchstats nchstats;
Line 307  extern struct nchstats nchstats;
 #define NAMEI_DOWHITEOUT        0x0040000  #define NAMEI_DOWHITEOUT        0x0040000
 #define NAMEI_REQUIREDIR        0x0080000  #define NAMEI_REQUIREDIR        0x0080000
 #define NAMEI_CREATEDIR 0x0200000  #define NAMEI_CREATEDIR 0x0200000
 #define NAMEI_PARAMASK  0x02fff00  #define NAMEI_INRENAME  0x0400000
   #define NAMEI_PARAMASK  0x06fff00
   
 #endif /* !_SYS_NAMEI_H_ */  #endif /* !_SYS_NAMEI_H_ */

Legend:
Removed from v.1.60  
changed lines
  Added in v.1.60.4.3

CVSweb <webmaster@jp.NetBSD.org>