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

9p-marshal.h (1633B)


      1#ifndef QEMU_9P_MARSHAL_H
      2#define QEMU_9P_MARSHAL_H
      3
      4typedef struct V9fsString {
      5    uint16_t size;
      6    char *data;
      7} V9fsString;
      8
      9typedef struct V9fsQID {
     10    uint8_t type;
     11    uint32_t version;
     12    uint64_t path;
     13} V9fsQID;
     14
     15typedef struct V9fsStat {
     16    int16_t size;
     17    int16_t type;
     18    int32_t dev;
     19    V9fsQID qid;
     20    int32_t mode;
     21    int32_t atime;
     22    int32_t mtime;
     23    int64_t length;
     24    V9fsString name;
     25    V9fsString uid;
     26    V9fsString gid;
     27    V9fsString muid;
     28    /* 9p2000.u */
     29    V9fsString extension;
     30    int32_t n_uid;
     31    int32_t n_gid;
     32    int32_t n_muid;
     33} V9fsStat;
     34
     35typedef struct V9fsIattr {
     36    int32_t valid;
     37    int32_t mode;
     38    int32_t uid;
     39    int32_t gid;
     40    int64_t size;
     41    int64_t atime_sec;
     42    int64_t atime_nsec;
     43    int64_t mtime_sec;
     44    int64_t mtime_nsec;
     45} V9fsIattr;
     46
     47typedef struct V9fsStatDotl {
     48    uint64_t st_result_mask;
     49    V9fsQID qid;
     50    uint32_t st_mode;
     51    uint32_t st_uid;
     52    uint32_t st_gid;
     53    uint64_t st_nlink;
     54    uint64_t st_rdev;
     55    uint64_t st_size;
     56    uint64_t st_blksize;
     57    uint64_t st_blocks;
     58    uint64_t st_atime_sec;
     59    uint64_t st_atime_nsec;
     60    uint64_t st_mtime_sec;
     61    uint64_t st_mtime_nsec;
     62    uint64_t st_ctime_sec;
     63    uint64_t st_ctime_nsec;
     64    uint64_t st_btime_sec;
     65    uint64_t st_btime_nsec;
     66    uint64_t st_gen;
     67    uint64_t st_data_version;
     68} V9fsStatDotl;
     69
     70static inline void v9fs_string_init(V9fsString *str)
     71{
     72    str->data = NULL;
     73    str->size = 0;
     74}
     75void v9fs_string_free(V9fsString *str);
     76void v9fs_string_sprintf(V9fsString *str, const char *fmt, ...);
     77void v9fs_string_copy(V9fsString *lhs, V9fsString *rhs);
     78
     79#endif