1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/* AFS File Service definitions
3 *
4 * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
5 * Written by David Howells (dhowells@redhat.com)
6 */
7
8#ifndef AFS_FS_H
9#define AFS_FS_H
10
11#define AFS_FS_PORT		7000	/* AFS file server port */
12#define FS_SERVICE		1	/* AFS File Service ID */
13
14enum AFS_FS_Operations {
15	FSFETCHDATA		= 130,	/* AFS Fetch file data */
16	FSFETCHACL		= 131,	/* AFS Fetch file ACL */
17	FSFETCHSTATUS		= 132,	/* AFS Fetch file status */
18	FSSTOREDATA		= 133,	/* AFS Store file data */
19	FSSTOREACL		= 134,	/* AFS Store file ACL */
20	FSSTORESTATUS		= 135,	/* AFS Store file status */
21	FSREMOVEFILE		= 136,	/* AFS Remove a file */
22	FSCREATEFILE		= 137,	/* AFS Create a file */
23	FSRENAME		= 138,	/* AFS Rename or move a file or directory */
24	FSSYMLINK		= 139,	/* AFS Create a symbolic link */
25	FSLINK			= 140,	/* AFS Create a hard link */
26	FSMAKEDIR		= 141,	/* AFS Create a directory */
27	FSREMOVEDIR		= 142,	/* AFS Remove a directory */
28	FSGIVEUPCALLBACKS	= 147,	/* AFS Discard callback promises */
29	FSGETVOLUMEINFO		= 148,	/* AFS Get information about a volume */
30	FSGETVOLUMESTATUS	= 149,	/* AFS Get volume status information */
31	FSGETROOTVOLUME		= 151,	/* AFS Get root volume name */
32	FSBULKSTATUS		= 155,	/* AFS Fetch multiple file statuses */
33	FSSETLOCK		= 156,	/* AFS Request a file lock */
34	FSEXTENDLOCK		= 157,	/* AFS Extend a file lock */
35	FSRELEASELOCK		= 158,	/* AFS Release a file lock */
36	FSLOOKUP		= 161,	/* AFS lookup file in directory */
37	FSINLINEBULKSTATUS	= 65536, /* AFS Fetch multiple file statuses with inline errors */
38	FSFETCHDATA64		= 65537, /* AFS Fetch file data */
39	FSSTOREDATA64		= 65538, /* AFS Store file data */
40	FSGIVEUPALLCALLBACKS	= 65539, /* AFS Give up all outstanding callbacks on a server */
41	FSGETCAPABILITIES	= 65540, /* Probe and get the capabilities of a fileserver */
42};
43
44enum AFS_FS_Errors {
45	VRESTARTING	= -100,	/* Server is restarting */
46	VSALVAGE	= 101,	/* volume needs salvaging */
47	VNOVNODE	= 102,	/* no such file/dir (vnode) */
48	VNOVOL		= 103,	/* no such volume or volume unavailable */
49	VVOLEXISTS	= 104,	/* volume name already exists */
50	VNOSERVICE	= 105,	/* volume not currently in service */
51	VOFFLINE	= 106,	/* volume is currently offline (more info available [VVL-spec]) */
52	VONLINE		= 107,	/* volume is already online */
53	VDISKFULL	= 108,	/* disk partition is full */
54	VOVERQUOTA	= 109,	/* volume's maximum quota exceeded */
55	VBUSY		= 110,	/* volume is temporarily unavailable */
56	VMOVED		= 111,	/* volume moved to new server - ask this FS where */
57	VIO		= 112,	/* I/O error in volume */
58	VSALVAGING	= 113,	/* Volume is being salvaged */
59	VRESTRICTED	= 120,	/* Volume is restricted from using  */
60};
61
62#endif /* AFS_FS_H */
63