The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/nfs/nfsproto.h

Version: -  FREEBSD  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-2  -  FREEBSD-11-1  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-4  -  FREEBSD-10-3  -  FREEBSD-10-2  -  FREEBSD-10-1  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-3  -  FREEBSD-9-2  -  FREEBSD-9-1  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-4  -  FREEBSD-8-3  -  FREEBSD-8-2  -  FREEBSD-8-1  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-4  -  FREEBSD-7-3  -  FREEBSD-7-2  -  FREEBSD-7-1  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-4  -  FREEBSD-6-3  -  FREEBSD-6-2  -  FREEBSD-6-1  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-5  -  FREEBSD-5-4  -  FREEBSD-5-3  -  FREEBSD-5-2  -  FREEBSD-5-1  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  linux-2.6  -  linux-2.4.22  -  MK83  -  MK84  -  PLAN9  -  DFBSD  -  NETBSD  -  NETBSD5  -  NETBSD4  -  NETBSD3  -  NETBSD20  -  OPENBSD  -  xnu-517  -  xnu-792  -  xnu-792.6.70  -  xnu-1228  -  xnu-1456.1.26  -  xnu-1699.24.8  -  xnu-2050.18.24  -  OPENSOLARIS  -  minix-3-1-1 
SearchContext: -  none  -  3  -  10 

    1 /*      $OpenBSD: nfsproto.h,v 1.8 2008/08/08 21:44:44 thib Exp $       */
    2 /*      $NetBSD: nfsproto.h,v 1.1 1996/02/18 11:54:06 fvdl Exp $        */
    3 
    4 /*
    5  * Copyright (c) 1989, 1993
    6  *      The Regents of the University of California.  All rights reserved.
    7  *
    8  * This code is derived from software contributed to Berkeley by
    9  * Rick Macklem at The University of Guelph.
   10  *
   11  * Redistribution and use in source and binary forms, with or without
   12  * modification, are permitted provided that the following conditions
   13  * are met:
   14  * 1. Redistributions of source code must retain the above copyright
   15  *    notice, this list of conditions and the following disclaimer.
   16  * 2. Redistributions in binary form must reproduce the above copyright
   17  *    notice, this list of conditions and the following disclaimer in the
   18  *    documentation and/or other materials provided with the distribution.
   19  * 3. Neither the name of the University nor the names of its contributors
   20  *    may be used to endorse or promote products derived from this software
   21  *    without specific prior written permission.
   22  *
   23  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   24  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   25  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   26  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   27  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   28  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   29  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   30  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   31  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   32  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   33  * SUCH DAMAGE.
   34  *
   35  *      @(#)nfsproto.h  8.2 (Berkeley) 3/30/95
   36  */
   37 
   38 #ifndef _NFS_NFSPROTO_H_
   39 #define _NFS_NFSPROTO_H_
   40 
   41 
   42 /*
   43  * nfs definitions as per the Version 2 and 3 specs
   44  */
   45 
   46 /*
   47  * Constants as defined in the Sun NFS Version 2 and 3 specs.
   48  * "NFS: Network File System Protocol Specification" RFC1094
   49  * and in the "NFS: Network File System Version 3 Protocol
   50  * Specification"
   51  */
   52 
   53 #define NFS_PORT        2049
   54 #define NFS_PROG        100003
   55 #define NFS_VER2        2
   56 #define NFS_VER3        3
   57 #define NFS_VER4        4
   58 #define NFS_V2MAXDATA   8192
   59 #define NFS_MAXDGRAMDATA 32768
   60 #define NFS_MAXDATA     MAXBSIZE
   61 #define NFS_MAXPATHLEN  1024
   62 #define NFS_MAXNAMLEN   255
   63 #define NFS_MAXPKTHDR   404
   64 #define NFS_MAXPACKET   (NFS_MAXPKTHDR + NFS_MAXDATA)
   65 #define NFS_MINPACKET   20
   66 #define NFS_FABLKSIZE   512     /* Size in bytes of a block wrt fa_blocks */
   67 
   68 /* Stat numbers for rpc returns (version 2 and 3) */
   69 #define NFS_OK                  0
   70 #define NFSERR_PERM             1
   71 #define NFSERR_NOENT            2
   72 #define NFSERR_IO               5
   73 #define NFSERR_NXIO             6
   74 #define NFSERR_ACCES            13
   75 #define NFSERR_EXIST            17
   76 #define NFSERR_XDEV             18      /* Version 3 only */
   77 #define NFSERR_NODEV            19
   78 #define NFSERR_NOTDIR           20
   79 #define NFSERR_ISDIR            21
   80 #define NFSERR_INVAL            22      /* Version 3 only */
   81 #define NFSERR_FBIG             27
   82 #define NFSERR_NOSPC            28
   83 #define NFSERR_ROFS             30
   84 #define NFSERR_MLINK            31      /* Version 3 only */
   85 #define NFSERR_NAMETOL          63
   86 #define NFSERR_NOTEMPTY         66
   87 #define NFSERR_DQUOT            69
   88 #define NFSERR_STALE            70
   89 #define NFSERR_REMOTE           71      /* Version 3 only */
   90 #define NFSERR_WFLUSH           99      /* Version 2 only */
   91 #define NFSERR_BADHANDLE        10001   /* The rest Version 3 only */
   92 #define NFSERR_NOT_SYNC         10002
   93 #define NFSERR_BAD_COOKIE       10003
   94 #define NFSERR_NOTSUPP          10004
   95 #define NFSERR_TOOSMALL         10005
   96 #define NFSERR_SERVERFAULT      10006
   97 #define NFSERR_BADTYPE          10007
   98 #define NFSERR_JUKEBOX          10008
   99 #define NFSERR_TRYLATER         NFSERR_JUKEBOX
  100 #define NFSERR_STALEWRITEVERF   30001   /* Fake return for nfs_commit() */
  101 
  102 #define NFSERR_RETVOID          0x20000000 /* Return void, not error */
  103 #define NFSERR_AUTHERR          0x40000000 /* Mark an authentication error */
  104 #define NFSERR_RETERR           0x80000000 /* Mark an error return for V3 */
  105 
  106 /* Sizes in bytes of various nfs rpc components */
  107 #define NFSX_UNSIGNED   4
  108 
  109 /* specific to NFS Version 2 */
  110 #define NFSX_V2FH       32
  111 #define NFSX_V2FATTR    68
  112 #define NFSX_V2SATTR    32
  113 #define NFSX_V2COOKIE   4
  114 #define NFSX_V2STATFS   20
  115 
  116 /* specific to NFS Version 3 */
  117 #define NFSX_V3FH               (sizeof (fhandle_t)) /* size this server uses */
  118 #define NFSX_V3FHMAX            64      /* max. allowed by protocol */
  119 #define NFSX_V3FATTR            84
  120 #define NFSX_V3SATTR            60      /* max. all fields filled in */
  121 #define NFSX_V3SRVSATTR         (sizeof (struct nfsv3_sattr))
  122 #define NFSX_V3POSTOPATTR       (NFSX_V3FATTR + NFSX_UNSIGNED)
  123 #define NFSX_V3WCCDATA          (NFSX_V3POSTOPATTR + 8 * NFSX_UNSIGNED)
  124 #define NFSX_V3COOKIEVERF       8
  125 #define NFSX_V3WRITEVERF        8
  126 #define NFSX_V3CREATEVERF       8
  127 #define NFSX_V3STATFS           52
  128 #define NFSX_V3FSINFO           48
  129 #define NFSX_V3PATHCONF         24
  130 
  131 /* variants for both versions */
  132 #define NFSX_FH(v3)             ((v3) ? (NFSX_V3FHMAX + NFSX_UNSIGNED) : \
  133                                         NFSX_V2FH)
  134 #define NFSX_SRVFH(v3)          ((v3) ? NFSX_V3FH : NFSX_V2FH)
  135 #define NFSX_FATTR(v3)          ((v3) ? NFSX_V3FATTR : NFSX_V2FATTR)
  136 #define NFSX_PREOPATTR(v3)      ((v3) ? (7 * NFSX_UNSIGNED) : 0)
  137 #define NFSX_POSTOPATTR(v3)     ((v3) ? (NFSX_V3FATTR + NFSX_UNSIGNED) : 0)
  138 #define NFSX_POSTOPORFATTR(v3)  ((v3) ? (NFSX_V3FATTR + NFSX_UNSIGNED) : \
  139                                         NFSX_V2FATTR)
  140 #define NFSX_WCCDATA(v3)        ((v3) ? NFSX_V3WCCDATA : 0)
  141 #define NFSX_WCCORFATTR(v3)     ((v3) ? NFSX_V3WCCDATA : NFSX_V2FATTR)
  142 #define NFSX_SATTR(v3)          ((v3) ? NFSX_V3SATTR : NFSX_V2SATTR)
  143 #define NFSX_COOKIEVERF(v3)     ((v3) ? NFSX_V3COOKIEVERF : 0)
  144 #define NFSX_WRITEVERF(v3)      ((v3) ? NFSX_V3WRITEVERF : 0)
  145 #define NFSX_READDIR(v3)        ((v3) ? (5 * NFSX_UNSIGNED) : \
  146                                         (2 * NFSX_UNSIGNED))
  147 #define NFSX_STATFS(v3)         ((v3) ? NFSX_V3STATFS : NFSX_V2STATFS)
  148 
  149 /* nfs rpc procedure numbers (before version mapping) */
  150 #define NFSPROC_NULL            0
  151 #define NFSPROC_GETATTR         1
  152 #define NFSPROC_SETATTR         2
  153 #define NFSPROC_LOOKUP          3
  154 #define NFSPROC_ACCESS          4
  155 #define NFSPROC_READLINK        5
  156 #define NFSPROC_READ            6
  157 #define NFSPROC_WRITE           7
  158 #define NFSPROC_CREATE          8
  159 #define NFSPROC_MKDIR           9
  160 #define NFSPROC_SYMLINK         10
  161 #define NFSPROC_MKNOD           11
  162 #define NFSPROC_REMOVE          12
  163 #define NFSPROC_RMDIR           13
  164 #define NFSPROC_RENAME          14
  165 #define NFSPROC_LINK            15
  166 #define NFSPROC_READDIR         16
  167 #define NFSPROC_READDIRPLUS     17
  168 #define NFSPROC_FSSTAT          18
  169 #define NFSPROC_FSINFO          19
  170 #define NFSPROC_PATHCONF        20
  171 #define NFSPROC_COMMIT          21
  172 
  173 #define NFSPROC_NOOP            25
  174 #define NFS_NPROCS              26
  175 
  176 /* Actual Version 2 procedure numbers */
  177 #define NFSV2PROC_NULL          0
  178 #define NFSV2PROC_GETATTR       1
  179 #define NFSV2PROC_SETATTR       2
  180 #define NFSV2PROC_NOOP          3
  181 #define NFSV2PROC_ROOT          NFSV2PROC_NOOP  /* Obsolete */
  182 #define NFSV2PROC_LOOKUP        4
  183 #define NFSV2PROC_READLINK      5
  184 #define NFSV2PROC_READ          6
  185 #define NFSV2PROC_WRITECACHE    NFSV2PROC_NOOP  /* Obsolete */
  186 #define NFSV2PROC_WRITE         8
  187 #define NFSV2PROC_CREATE        9
  188 #define NFSV2PROC_REMOVE        10
  189 #define NFSV2PROC_RENAME        11
  190 #define NFSV2PROC_LINK          12
  191 #define NFSV2PROC_SYMLINK       13
  192 #define NFSV2PROC_MKDIR         14
  193 #define NFSV2PROC_RMDIR         15
  194 #define NFSV2PROC_READDIR       16
  195 #define NFSV2PROC_STATFS        17
  196 
  197 /*
  198  * Constants used by the Version 3 protocol for various RPCs
  199  */
  200 #define NFSV3SATTRTIME_DONTCHANGE       0
  201 #define NFSV3SATTRTIME_TOSERVER         1
  202 #define NFSV3SATTRTIME_TOCLIENT         2
  203 
  204 #define NFSV3ACCESS_READ                0x01
  205 #define NFSV3ACCESS_LOOKUP              0x02
  206 #define NFSV3ACCESS_MODIFY              0x04
  207 #define NFSV3ACCESS_EXTEND              0x08
  208 #define NFSV3ACCESS_DELETE              0x10
  209 #define NFSV3ACCESS_EXECUTE             0x20
  210 
  211 #define NFSV3WRITE_UNSTABLE             0
  212 #define NFSV3WRITE_DATASYNC             1
  213 #define NFSV3WRITE_FILESYNC             2
  214 
  215 #define NFSV3CREATE_UNCHECKED           0
  216 #define NFSV3CREATE_GUARDED             1
  217 #define NFSV3CREATE_EXCLUSIVE           2
  218 
  219 #define NFSV3FSINFO_LINK                0x01
  220 #define NFSV3FSINFO_SYMLINK             0x02
  221 #define NFSV3FSINFO_HOMOGENEOUS         0x08
  222 #define NFSV3FSINFO_CANSETTIME          0x10
  223 
  224 /* Conversion macros */
  225 #define vtonfsv2_mode(t,m) \
  226                 txdr_unsigned(((t) == VFIFO) ? MAKEIMODE(VCHR, (m)) : \
  227                                 MAKEIMODE((t), (m)))
  228 #define vtonfsv3_mode(m)        txdr_unsigned((m) & 07777)
  229 #define nfstov_mode(a)          (fxdr_unsigned(u_int16_t, (a))&07777)
  230 #define vtonfsv2_type(a)        txdr_unsigned(nfsv2_type[((int32_t)(a))])
  231 #define vtonfsv3_type(a)        txdr_unsigned(nfsv3_type[((int32_t)(a))])
  232 #define nfsv2tov_type(a)        nv2tov_type[fxdr_unsigned(u_int32_t,(a))&0x7]
  233 #define nfsv3tov_type(a)        nv3tov_type[fxdr_unsigned(u_int32_t,(a))&0x7]
  234 
  235 /* File types */
  236 typedef enum { NFNON=0, NFREG=1, NFDIR=2, NFBLK=3, NFCHR=4, NFLNK=5,
  237         NFSOCK=6, NFFIFO=7 } nfstype;
  238 
  239 /* Structs for common parts of the rpc's */
  240 /*
  241  * File Handle (32 bytes for version 2), variable up to 64 for version 3.
  242  */
  243 #ifndef NFS_MAXFHSIZE
  244 #define NFS_MAXFHSIZE   64
  245 #endif
  246 union nfsfh {
  247         fhandle_t fh_generic;
  248         u_char    fh_bytes[NFS_MAXFHSIZE];
  249 };
  250 typedef union nfsfh nfsfh_t;
  251 
  252 struct nfsv2_time {
  253         u_int32_t nfsv2_sec;
  254         u_int32_t nfsv2_usec;
  255 };
  256 typedef struct nfsv2_time       nfstime2;
  257 
  258 struct nfsv3_time {
  259         u_int32_t nfsv3_sec;
  260         u_int32_t nfsv3_nsec;
  261 };
  262 typedef struct nfsv3_time       nfstime3;
  263 
  264 /*
  265  * Quads are defined as arrays of 2 longs to ensure dense packing for the
  266  * protocol and to facilitate xdr conversion.
  267  */
  268 struct nfs_uquad {
  269         u_int32_t nfsuquad[2];
  270 };
  271 typedef struct nfs_uquad        nfsuint64;
  272 
  273 /*
  274  * NFS Version 3 special file number.
  275  */
  276 struct nfsv3_spec {
  277         u_int32_t specdata1;
  278         u_int32_t specdata2;
  279 };
  280 typedef struct nfsv3_spec       nfsv3spec;
  281 
  282 /*
  283  * File attributes and setable attributes. These structures cover both
  284  * NFS version 2 and the version 3 protocol. Note that the union is only
  285  * used so that one pointer can refer to both variants. These structures
  286  * go out on the wire and must be densely packed, so no quad data types
  287  * are used. (all fields are longs or u_longs or structures of same)
  288  * NB: You can't do sizeof(struct nfs_fattr), you must use the
  289  *     NFSX_FATTR(v3) macro.
  290  */
  291 struct nfs_fattr {
  292         u_int32_t fa_type;
  293         u_int32_t fa_mode;
  294         u_int32_t fa_nlink;
  295         u_int32_t fa_uid;
  296         u_int32_t fa_gid;
  297         union {
  298                 struct {
  299                         u_int32_t nfsv2fa_size;
  300                         u_int32_t nfsv2fa_blocksize;
  301                         u_int32_t nfsv2fa_rdev;
  302                         u_int32_t nfsv2fa_blocks;
  303                         u_int32_t nfsv2fa_fsid;
  304                         u_int32_t nfsv2fa_fileid;
  305                         nfstime2  nfsv2fa_atime;
  306                         nfstime2  nfsv2fa_mtime;
  307                         nfstime2  nfsv2fa_ctime;
  308                 } fa_nfsv2;
  309                 struct {
  310                         nfsuint64 nfsv3fa_size;
  311                         nfsuint64 nfsv3fa_used;
  312                         nfsv3spec nfsv3fa_rdev;
  313                         nfsuint64 nfsv3fa_fsid;
  314                         nfsuint64 nfsv3fa_fileid;
  315                         nfstime3  nfsv3fa_atime;
  316                         nfstime3  nfsv3fa_mtime;
  317                         nfstime3  nfsv3fa_ctime;
  318                 } fa_nfsv3;
  319         } fa_un;
  320 };
  321 
  322 /* and some ugly defines for accessing union components */
  323 #define fa2_size                fa_un.fa_nfsv2.nfsv2fa_size
  324 #define fa2_blocksize           fa_un.fa_nfsv2.nfsv2fa_blocksize
  325 #define fa2_rdev                fa_un.fa_nfsv2.nfsv2fa_rdev
  326 #define fa2_blocks              fa_un.fa_nfsv2.nfsv2fa_blocks
  327 #define fa2_fsid                fa_un.fa_nfsv2.nfsv2fa_fsid
  328 #define fa2_fileid              fa_un.fa_nfsv2.nfsv2fa_fileid
  329 #define fa2_atime               fa_un.fa_nfsv2.nfsv2fa_atime
  330 #define fa2_mtime               fa_un.fa_nfsv2.nfsv2fa_mtime
  331 #define fa2_ctime               fa_un.fa_nfsv2.nfsv2fa_ctime
  332 #define fa3_size                fa_un.fa_nfsv3.nfsv3fa_size
  333 #define fa3_used                fa_un.fa_nfsv3.nfsv3fa_used
  334 #define fa3_rdev                fa_un.fa_nfsv3.nfsv3fa_rdev
  335 #define fa3_fsid                fa_un.fa_nfsv3.nfsv3fa_fsid
  336 #define fa3_fileid              fa_un.fa_nfsv3.nfsv3fa_fileid
  337 #define fa3_atime               fa_un.fa_nfsv3.nfsv3fa_atime
  338 #define fa3_mtime               fa_un.fa_nfsv3.nfsv3fa_mtime
  339 #define fa3_ctime               fa_un.fa_nfsv3.nfsv3fa_ctime
  340 
  341 struct nfsv2_sattr {
  342         u_int32_t sa_mode;
  343         u_int32_t sa_uid;
  344         u_int32_t sa_gid;
  345         u_int32_t sa_size;
  346         nfstime2  sa_atime;
  347         nfstime2  sa_mtime;
  348 };
  349 
  350 /*
  351  * NFS Version 3 sattr structure for the new node creation case.
  352  */
  353 struct nfsv3_sattr {
  354         u_int32_t sa_modetrue;
  355         u_int32_t sa_mode;
  356         u_int32_t sa_uidfalse;
  357         u_int32_t sa_gidfalse;
  358         u_int32_t sa_sizefalse;
  359         u_int32_t sa_atimetype;
  360         nfstime3  sa_atime;
  361         u_int32_t sa_mtimetype;
  362         nfstime3  sa_mtime;
  363 };
  364 
  365 struct nfs_statfs {
  366         union {
  367                 struct {
  368                         u_int32_t nfsv2sf_tsize;
  369                         u_int32_t nfsv2sf_bsize;
  370                         u_int32_t nfsv2sf_blocks;
  371                         u_int32_t nfsv2sf_bfree;
  372                         u_int32_t nfsv2sf_bavail;
  373                 } sf_nfsv2;
  374                 struct {
  375                         nfsuint64 nfsv3sf_tbytes;
  376                         nfsuint64 nfsv3sf_fbytes;
  377                         nfsuint64 nfsv3sf_abytes;
  378                         nfsuint64 nfsv3sf_tfiles;
  379                         nfsuint64 nfsv3sf_ffiles;
  380                         nfsuint64 nfsv3sf_afiles;
  381                         u_int32_t nfsv3sf_invarsec;
  382                 } sf_nfsv3;
  383         } sf_un;
  384 };
  385 
  386 #define sf_tsize        sf_un.sf_nfsv2.nfsv2sf_tsize
  387 #define sf_bsize        sf_un.sf_nfsv2.nfsv2sf_bsize
  388 #define sf_blocks       sf_un.sf_nfsv2.nfsv2sf_blocks
  389 #define sf_bfree        sf_un.sf_nfsv2.nfsv2sf_bfree
  390 #define sf_bavail       sf_un.sf_nfsv2.nfsv2sf_bavail
  391 #define sf_tbytes       sf_un.sf_nfsv3.nfsv3sf_tbytes
  392 #define sf_fbytes       sf_un.sf_nfsv3.nfsv3sf_fbytes
  393 #define sf_abytes       sf_un.sf_nfsv3.nfsv3sf_abytes
  394 #define sf_tfiles       sf_un.sf_nfsv3.nfsv3sf_tfiles
  395 #define sf_ffiles       sf_un.sf_nfsv3.nfsv3sf_ffiles
  396 #define sf_afiles       sf_un.sf_nfsv3.nfsv3sf_afiles
  397 #define sf_invarsec     sf_un.sf_nfsv3.nfsv3sf_invarsec
  398 
  399 struct nfsv3_fsinfo {
  400         u_int32_t fs_rtmax;
  401         u_int32_t fs_rtpref;
  402         u_int32_t fs_rtmult;
  403         u_int32_t fs_wtmax;
  404         u_int32_t fs_wtpref;
  405         u_int32_t fs_wtmult;
  406         u_int32_t fs_dtpref;
  407         nfsuint64 fs_maxfilesize;
  408         nfstime3  fs_timedelta;
  409         u_int32_t fs_properties;
  410 };
  411 
  412 struct nfsv3_pathconf {
  413         u_int32_t pc_linkmax;
  414         u_int32_t pc_namemax;
  415         u_int32_t pc_notrunc;
  416         u_int32_t pc_chownrestricted;
  417         u_int32_t pc_caseinsensitive;
  418         u_int32_t pc_casepreserving;
  419 };
  420 
  421 #endif

Cache object: 42952aa6c6546d8773a18c5f5e7ca2e9


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.