cachepc-qemu

Fork of AMDESE/qemu with changes for cachepc side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-qemu
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

input-barrier.h (2188B)


      1/*
      2 * SPDX-License-Identifier: GPL-2.0-or-later
      3 *
      4 * This work is licensed under the terms of the GNU GPL, version 2 or later.
      5 * See the COPYING file in the top-level directory.
      6 */
      7
      8#ifndef UI_INPUT_BARRIER_H
      9#define UI_INPUT_BARRIER_H
     10
     11/* Barrier protocol */
     12#define BARRIER_VERSION_MAJOR 1
     13#define BARRIER_VERSION_MINOR 6
     14
     15enum barrierCmd {
     16    barrierCmdCNoop,
     17    barrierCmdCClose,
     18    barrierCmdCEnter,
     19    barrierCmdCLeave,
     20    barrierCmdCClipboard,
     21    barrierCmdCScreenSaver,
     22    barrierCmdCResetOptions,
     23    barrierCmdCInfoAck,
     24    barrierCmdCKeepAlive,
     25    barrierCmdDKeyDown,
     26    barrierCmdDKeyRepeat,
     27    barrierCmdDKeyUp,
     28    barrierCmdDMouseDown,
     29    barrierCmdDMouseUp,
     30    barrierCmdDMouseMove,
     31    barrierCmdDMouseRelMove,
     32    barrierCmdDMouseWheel,
     33    barrierCmdDClipboard,
     34    barrierCmdDInfo,
     35    barrierCmdDSetOptions,
     36    barrierCmdDFileTransfer,
     37    barrierCmdDDragInfo,
     38    barrierCmdQInfo,
     39    barrierCmdEIncompatible,
     40    barrierCmdEBusy,
     41    barrierCmdEUnknown,
     42    barrierCmdEBad,
     43    /* connection sequence */
     44    barrierCmdHello,
     45    barrierCmdHelloBack,
     46};
     47
     48enum {
     49   barrierButtonNone,
     50   barrierButtonLeft,
     51   barrierButtonMiddle,
     52   barrierButtonRight,
     53   barrierButtonExtra0
     54};
     55
     56struct barrierVersion {
     57    int16_t major;
     58    int16_t minor;
     59};
     60
     61struct barrierMouseButton {
     62    int8_t buttonid;
     63};
     64
     65struct barrierEnter {
     66    int16_t x;
     67    int16_t y;
     68    int32_t seqn;
     69    int16_t modifier;
     70};
     71
     72struct barrierMousePos {
     73    int16_t x;
     74    int16_t y;
     75};
     76
     77struct barrierKey {
     78    int16_t keyid;
     79    int16_t modifier;
     80    int16_t button;
     81};
     82
     83struct barrierRepeat {
     84    int16_t keyid;
     85    int16_t modifier;
     86    int16_t repeat;
     87    int16_t button;
     88};
     89
     90#define BARRIER_MAX_OPTIONS 32
     91struct barrierSet {
     92    int nb;
     93    struct {
     94        int id;
     95        char nul;
     96        int value;
     97    } option[BARRIER_MAX_OPTIONS];
     98};
     99
    100struct barrierMsg {
    101    enum barrierCmd cmd;
    102    union {
    103        struct barrierVersion version;
    104        struct barrierMouseButton mousebutton;
    105        struct barrierMousePos mousepos;
    106        struct barrierEnter enter;
    107        struct barrierKey key;
    108        struct barrierRepeat repeat;
    109        struct barrierSet set;
    110    };
    111};
    112#endif