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
, ...);