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 14 enum 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 44 enum 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