/usr/include/afs/osi_vfs.h is in libopenafs-dev 1.6.20-2+deb9u2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | /*
* Copyright 2000, International Business Machines Corporation and others.
* All Rights Reserved.
*
* This software has been released under the terms of the IBM Public
* License. For details, see the LICENSE file in the top-level source
* directory or online at http://www.openafs.org/dl/license10.html
*/
/*
* Linux interpretations of vnode and vfs structs.
*/
#ifndef OSI_VFS_H_
#define OSI_VFS_H_
typedef struct inode vnode_t;
#define vnode inode
/* Map vnode fields to inode fields */
#define i_number i_ino
#define v_count i_count
#define v_op i_op
#define v_fop i_fop
#define v_type i_mode
#define v_vfsp i_sb
#define v_data u.generic_ip
/* v_type bits map to mode bits */
#define VNON 0
#define VREG S_IFREG
#define VDIR S_IFDIR
#define VBLK S_IFBLK
#define VCHR S_IFCHR
#define VLNK S_IFLNK
#define VSOCK S_IFSOCK
#define VFIFO S_IFIFO
/* vcexcl - used only by afs_create */
enum vcexcl { EXCL, NONEXCL } ;
/* afs_open and afs_close needs to distinguish these cases */
#define FWRITE O_WRONLY|O_RDWR|O_APPEND
#define FTRUNC O_TRUNC
#define IO_APPEND O_APPEND
#define FSYNC O_SYNC
#define VTOI(V) (V)
/* Various mode bits */
#define VWRITE S_IWUSR
#define VREAD S_IRUSR
#define VEXEC S_IXUSR
#define VSUID S_ISUID
#define VSGID S_ISGID
#define vfs super_block
typedef struct vattr {
int va_type; /* One of v_types above. */
afs_size_t va_size;
unsigned long va_blocks;
unsigned long va_blocksize;
int va_mask; /* AT_xxx operation to perform. */
umode_t va_mode; /* mode bits. */
uid_t va_uid;
gid_t va_gid;
int va_fsid; /* Not used? */
dev_t va_rdev;
ino_t va_nodeid; /* Inode number */
nlink_t va_nlink; /* link count for file. */
struct timeval va_atime;
struct timeval va_mtime;
struct timeval va_ctime;
} vattr_t;
#define VATTR_NULL(A) memset(A, 0, sizeof(struct vattr))
#ifndef HAVE_LINUX_I_SIZE_READ
#define i_size_read(X) ((X)->i_size)
#define i_size_write(X,Y) (X)->i_size = Y
#endif
#endif /* OSI_VFS_H_ */
|