Module Types.Qid

type flag =
| Directory(*

file is a directory

*)
| AppendOnly(*

writes always hit the end of the file

*)
| Exclusive(*

file is opened for exclusive use

*)
| Mount(*

file is a mountpoint

*)
| Auth(*

file is an authentication file

*)
| Temporary(*

file is temporary and won't be backed up

*)
val sexp_of_flag : flag -> Ppx_sexp_conv_lib.Sexp.t
val flag_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> flag
type t = {
flags : flag list;
version : int32;
id : int64;
}

The server's unique id for the file. Two files are the same if and only if the Qids are the same.

include Ppx_sexp_conv_lib.Sexpable.S with type t := t
val t_of_sexp : Sexplib0__.Sexp.t -> t
val sexp_of_t : t -> Sexplib0__.Sexp.t
val any : t
val is_any : t -> bool
val file : ?id:int64 -> ?version:int32 -> ?append_only:bool -> ?exclusive:bool -> ?mount:bool -> ?auth:bool -> ?temporary:bool -> ?link:bool -> unit -> t

Construct a t representing a file

val dir : ?id:int64 -> ?version:int32 -> unit -> t

Construct a t representing a directory

val sizeof : t -> int

The size of a buffer needed to hold t

val read : Cstruct.t -> (t * Cstruct.t, [ `Msg of string ]) Stdlib.result

Read a t from the given buffer and return it, along with the unused remainder of the buffer. If the buffer cannot be parsed then return an error.

val write : t -> Cstruct.t -> (Cstruct.t, [ `Msg of string ]) Stdlib.result

Write a t into the given buffer. If the buffer is too small, then return an error. Return the unused remainder of the buffer.