~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/uapi/linux/cachefiles.h

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2 #ifndef _LINUX_CACHEFILES_H
  3 #define _LINUX_CACHEFILES_H
  4 
  5 #include <linux/types.h>
  6 #include <linux/ioctl.h>
  7 
  8 /*
  9  * Fscache ensures that the maximum length of cookie key is 255. The volume key
 10  * is controlled by netfs, and generally no bigger than 255.
 11  */
 12 #define CACHEFILES_MSG_MAX_SIZE 1024
 13 
 14 enum cachefiles_opcode {
 15         CACHEFILES_OP_OPEN,
 16         CACHEFILES_OP_CLOSE,
 17         CACHEFILES_OP_READ,
 18 };
 19 
 20 /*
 21  * Message Header
 22  *
 23  * @msg_id      a unique ID identifying this message
 24  * @opcode      message type, CACHEFILE_OP_*
 25  * @len         message length, including message header and following data
 26  * @object_id   a unique ID identifying a cache file
 27  * @data        message type specific payload
 28  */
 29 struct cachefiles_msg {
 30         __u32 msg_id;
 31         __u32 opcode;
 32         __u32 len;
 33         __u32 object_id;
 34         __u8  data[];
 35 };
 36 
 37 /*
 38  * @data contains the volume_key followed directly by the cookie_key. volume_key
 39  * is a NUL-terminated string; @volume_key_size indicates the size of the volume
 40  * key in bytes. cookie_key is binary data, which is netfs specific;
 41  * @cookie_key_size indicates the size of the cookie key in bytes.
 42  *
 43  * @fd identifies an anon_fd referring to the cache file.
 44  */
 45 struct cachefiles_open {
 46         __u32 volume_key_size;
 47         __u32 cookie_key_size;
 48         __u32 fd;
 49         __u32 flags;
 50         __u8  data[];
 51 };
 52 
 53 /*
 54  * @off         indicates the starting offset of the requested file range
 55  * @len         indicates the length of the requested file range
 56  */
 57 struct cachefiles_read {
 58         __u64 off;
 59         __u64 len;
 60 };
 61 
 62 /*
 63  * Reply for READ request
 64  * @arg for this ioctl is the @id field of READ request.
 65  */
 66 #define CACHEFILES_IOC_READ_COMPLETE    _IOW(0x98, 1, int)
 67 
 68 #endif
 69 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php