105 lines · c
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */2/*3 * NFSv3 protocol definitions4 */5#ifndef _UAPI_LINUX_NFS3_H6#define _UAPI_LINUX_NFS3_H7 8#define NFS3_PORT 20499#define NFS3_MAXDATA 3276810#define NFS3_MAXPATHLEN PATH_MAX11#define NFS3_MAXNAMLEN NAME_MAX12#define NFS3_MAXGROUPS 1613#define NFS3_FHSIZE 6414#define NFS3_COOKIESIZE 415#define NFS3_CREATEVERFSIZE 816#define NFS3_COOKIEVERFSIZE 817#define NFS3_WRITEVERFSIZE 818#define NFS3_FIFO_DEV (-1)19#define NFS3MODE_FMT 017000020#define NFS3MODE_DIR 004000021#define NFS3MODE_CHR 002000022#define NFS3MODE_BLK 006000023#define NFS3MODE_REG 010000024#define NFS3MODE_LNK 012000025#define NFS3MODE_SOCK 014000026#define NFS3MODE_FIFO 001000027 28/* Flags for access() call */29#define NFS3_ACCESS_READ 0x000130#define NFS3_ACCESS_LOOKUP 0x000231#define NFS3_ACCESS_MODIFY 0x000432#define NFS3_ACCESS_EXTEND 0x000833#define NFS3_ACCESS_DELETE 0x001034#define NFS3_ACCESS_EXECUTE 0x002035#define NFS3_ACCESS_FULL 0x003f36 37/* Flags for create mode */38enum nfs3_createmode {39 NFS3_CREATE_UNCHECKED = 0,40 NFS3_CREATE_GUARDED = 1,41 NFS3_CREATE_EXCLUSIVE = 242};43 44/* NFSv3 file system properties */45#define NFS3_FSF_LINK 0x000146#define NFS3_FSF_SYMLINK 0x000247#define NFS3_FSF_HOMOGENEOUS 0x000848#define NFS3_FSF_CANSETTIME 0x001049/* Some shorthands. See fs/nfsd/nfs3proc.c */50#define NFS3_FSF_DEFAULT 0x001B51#define NFS3_FSF_BILLYBOY 0x001852#define NFS3_FSF_READONLY 0x000853 54enum nfs3_ftype {55 NF3NON = 0,56 NF3REG = 1,57 NF3DIR = 2,58 NF3BLK = 3,59 NF3CHR = 4,60 NF3LNK = 5,61 NF3SOCK = 6,62 NF3FIFO = 7, /* changed from NFSv2 (was 8) */63 NF3BAD = 864};65 66enum nfs3_time_how {67 DONT_CHANGE = 0,68 SET_TO_SERVER_TIME = 1,69 SET_TO_CLIENT_TIME = 2,70};71 72struct nfs3_fh {73 unsigned short size;74 unsigned char data[NFS3_FHSIZE];75};76 77#define NFS3_VERSION 378#define NFS3PROC_NULL 079#define NFS3PROC_GETATTR 180#define NFS3PROC_SETATTR 281#define NFS3PROC_LOOKUP 382#define NFS3PROC_ACCESS 483#define NFS3PROC_READLINK 584#define NFS3PROC_READ 685#define NFS3PROC_WRITE 786#define NFS3PROC_CREATE 887#define NFS3PROC_MKDIR 988#define NFS3PROC_SYMLINK 1089#define NFS3PROC_MKNOD 1190#define NFS3PROC_REMOVE 1291#define NFS3PROC_RMDIR 1392#define NFS3PROC_RENAME 1493#define NFS3PROC_LINK 1594#define NFS3PROC_READDIR 1695#define NFS3PROC_READDIRPLUS 1796#define NFS3PROC_FSSTAT 1897#define NFS3PROC_FSINFO 1998#define NFS3PROC_PATHCONF 2099#define NFS3PROC_COMMIT 21100 101#define NFS_MNT3_VERSION 3102 103 104#endif /* _UAPI_LINUX_NFS3_H */105