111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/****************************************************************************
211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   This header was automatically generated from a Linux kernel header
511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   of the same name, to make information necessary for userspace to
611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   call into the kernel available to libc.  It contains only constants,
711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   structures, and macros generated from the original header, and thus,
811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   contains no copyrightable information.
911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/
1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _LINUX_NFS3_H
1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _LINUX_NFS3_H
1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3_PORT 2049
1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3_MAXDATA 32768
1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3_MAXPATHLEN PATH_MAX
1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3_MAXNAMLEN NAME_MAX
1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3_MAXGROUPS 16
2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3_FHSIZE 64
2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3_COOKIESIZE 4
2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3_FIFO_DEV (-1)
2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3MODE_FMT 0170000
2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3MODE_DIR 0040000
2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3MODE_CHR 0020000
2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3MODE_BLK 0060000
2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3MODE_REG 0100000
2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3MODE_LNK 0120000
2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3MODE_SOCK 0140000
3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3MODE_FIFO 0010000
3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3_ACCESS_READ 0x0001
3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3_ACCESS_LOOKUP 0x0002
3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3_ACCESS_MODIFY 0x0004
3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3_ACCESS_EXTEND 0x0008
3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3_ACCESS_DELETE 0x0010
3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3_ACCESS_EXECUTE 0x0020
3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3_ACCESS_FULL 0x003f
3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertenum nfs3_createmode {
4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert NFS3_CREATE_UNCHECKED = 0,
4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert NFS3_CREATE_GUARDED = 1,
4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert NFS3_CREATE_EXCLUSIVE = 2
4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3_FSF_LINK 0x0001
4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3_FSF_SYMLINK 0x0002
4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3_FSF_HOMOGENEOUS 0x0008
4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3_FSF_CANSETTIME 0x0010
5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3_FSF_DEFAULT 0x001B
5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3_FSF_BILLYBOY 0x0018
5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3_FSF_READONLY 0x0008
5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertenum nfs3_ftype {
5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert NF3NON = 0,
5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert NF3REG = 1,
5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert NF3DIR = 2,
5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert NF3BLK = 3,
6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert NF3CHR = 4,
6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert NF3LNK = 5,
6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert NF3SOCK = 6,
6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert NF3FIFO = 7,
6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert NF3BAD = 8
6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct nfs3_fh {
6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short size;
6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char data[NFS3_FHSIZE];
7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3_VERSION 3
7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3PROC_NULL 0
7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3PROC_GETATTR 1
7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3PROC_SETATTR 2
7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3PROC_LOOKUP 3
7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3PROC_ACCESS 4
7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3PROC_READLINK 5
7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3PROC_READ 6
8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3PROC_WRITE 7
8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3PROC_CREATE 8
8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3PROC_MKDIR 9
8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3PROC_SYMLINK 10
8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3PROC_MKNOD 11
8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3PROC_REMOVE 12
8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3PROC_RMDIR 13
8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3PROC_RENAME 14
8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3PROC_LINK 15
8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3PROC_READDIR 16
9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3PROC_READDIRPLUS 17
9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3PROC_FSSTAT 18
9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3PROC_FSINFO 19
9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3PROC_PATHCONF 20
9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3PROC_COMMIT 21
9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS_MNT3_PROGRAM 100005
9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS_MNT3_VERSION 3
9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MOUNTPROC3_NULL 0
9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MOUNTPROC3_MNT 1
10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MOUNTPROC3_UMNT 3
10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MOUNTPROC3_UMNTALL 4
10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef NFS_NEED_KERNEL_TYPES
10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS3_POST_OP_ATTR_WORDS 22
10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
109