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