1 #ifndef _QEMU_VIRTIO_9P_MARSHAL_H
2 #define _QEMU_VIRTIO_9P_MARSHAL_H
4 typedef struct V9fsString
10 typedef struct V9fsQID
17 typedef struct V9fsStat
38 typedef struct V9fsIattr
51 typedef struct V9fsStatDotl {
52 uint64_t st_result_mask;
62 uint64_t st_atime_sec;
63 uint64_t st_atime_nsec;
64 uint64_t st_mtime_sec;
65 uint64_t st_mtime_nsec;
66 uint64_t st_ctime_sec;
67 uint64_t st_ctime_nsec;
68 uint64_t st_btime_sec;
69 uint64_t st_btime_nsec;
71 uint64_t st_data_version;
74 static inline void v9fs_string_init(V9fsString *str)
79 extern void v9fs_string_free(V9fsString *str);
80 extern void v9fs_string_null(V9fsString *str);
81 extern void v9fs_string_sprintf(V9fsString *str, const char *fmt, ...);
82 extern void v9fs_string_copy(V9fsString *lhs, V9fsString *rhs);
84 ssize_t v9fs_pack(struct iovec *in_sg, int in_num, size_t offset,
85 const void *src, size_t size);
86 ssize_t v9fs_unmarshal(struct iovec *out_sg, int out_num, size_t offset,
87 int bswap, const char *fmt, ...);
88 ssize_t v9fs_marshal(struct iovec *in_sg, int in_num, size_t offset,
89 int bswap, const char *fmt, ...);