cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

downcall.h (2953B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 * (C) 2001 Clemson University and The University of Chicago
      4 *
      5 * See COPYING in top-level directory.
      6 */
      7
      8/*
      9 *  Definitions of downcalls used in Linux kernel module.
     10 */
     11
     12#ifndef __DOWNCALL_H
     13#define __DOWNCALL_H
     14
     15/*
     16 * Sanitized the device-client core interaction
     17 * for clean 32-64 bit usage
     18 */
     19struct orangefs_io_response {
     20	__s64 amt_complete;
     21};
     22
     23struct orangefs_lookup_response {
     24	struct orangefs_object_kref refn;
     25};
     26
     27struct orangefs_create_response {
     28	struct orangefs_object_kref refn;
     29};
     30
     31struct orangefs_symlink_response {
     32	struct orangefs_object_kref refn;
     33};
     34
     35struct orangefs_getattr_response {
     36	struct ORANGEFS_sys_attr_s attributes;
     37	char link_target[ORANGEFS_NAME_MAX];
     38};
     39
     40struct orangefs_mkdir_response {
     41	struct orangefs_object_kref refn;
     42};
     43
     44struct orangefs_statfs_response {
     45	__s64 block_size;
     46	__s64 blocks_total;
     47	__s64 blocks_avail;
     48	__s64 files_total;
     49	__s64 files_avail;
     50};
     51
     52struct orangefs_fs_mount_response {
     53	__s32 fs_id;
     54	__s32 id;
     55	struct orangefs_khandle root_khandle;
     56};
     57
     58/* the getxattr response is the attribute value */
     59struct orangefs_getxattr_response {
     60	__s32 val_sz;
     61	__s32 __pad1;
     62	char val[ORANGEFS_MAX_XATTR_VALUELEN];
     63};
     64
     65/* the listxattr response is an array of attribute names */
     66struct orangefs_listxattr_response {
     67	__s32 returned_count;
     68	__s32 __pad1;
     69	__u64 token;
     70	char key[ORANGEFS_MAX_XATTR_LISTLEN * ORANGEFS_MAX_XATTR_NAMELEN];
     71	__s32 keylen;
     72	__s32 __pad2;
     73	__s32 lengths[ORANGEFS_MAX_XATTR_LISTLEN];
     74};
     75
     76struct orangefs_param_response {
     77	union {
     78		__s64 value64;
     79		__s32 value32[2];
     80	} u;
     81};
     82
     83#define PERF_COUNT_BUF_SIZE 4096
     84struct orangefs_perf_count_response {
     85	char buffer[PERF_COUNT_BUF_SIZE];
     86};
     87
     88#define FS_KEY_BUF_SIZE 4096
     89struct orangefs_fs_key_response {
     90	__s32 fs_keylen;
     91	__s32 __pad1;
     92	char fs_key[FS_KEY_BUF_SIZE];
     93};
     94
     95/* 2.9.6 */
     96struct orangefs_features_response {
     97	__u64 features;
     98};
     99
    100struct orangefs_downcall_s {
    101	__s32 type;
    102	__s32 status;
    103	/* currently trailer is used only by readdir */
    104	__s64 trailer_size;
    105	char *trailer_buf;
    106
    107	union {
    108		struct orangefs_io_response io;
    109		struct orangefs_lookup_response lookup;
    110		struct orangefs_create_response create;
    111		struct orangefs_symlink_response sym;
    112		struct orangefs_getattr_response getattr;
    113		struct orangefs_mkdir_response mkdir;
    114		struct orangefs_statfs_response statfs;
    115		struct orangefs_fs_mount_response fs_mount;
    116		struct orangefs_getxattr_response getxattr;
    117		struct orangefs_listxattr_response listxattr;
    118		struct orangefs_param_response param;
    119		struct orangefs_perf_count_response perf_count;
    120		struct orangefs_fs_key_response fs_key;
    121		struct orangefs_features_response features;
    122	} resp;
    123};
    124
    125/*
    126 * The readdir response comes in the trailer.  It is followed by the
    127 * directory entries as described in dir.c.
    128 */
    129
    130struct orangefs_readdir_response_s {
    131	__u64 token;
    132	__u64 directory_version;
    133	__u32 __pad2;
    134	__u32 orangefs_dirent_outcount;
    135};
    136
    137#endif /* __DOWNCALL_H */