Types.Statval sexp_of_extension : extension -> Sexplib0.Sexp.tval extension_of_sexp : Sexplib0.Sexp.t -> extensionval make_extension :
?extension:string ->
?n_uid:int32 ->
?n_gid:int32 ->
?n_muid:int32 ->
unit ->
extensiontype t = {ty : int;for kernel use
*)dev : int32;for kernel use
*)qid : Qid.t;mode : FileMode.t;permissions and flags
*)atime : int32;last access time
*)mtime : int32;last modification time
*)length : int64;length of the file in bytes
*)name : string;file name. Must be '/' if the file is the root
*)uid : string;owner name
*)gid : string;group name
*)muid : string;name of last user who modified the file
*)u : extension option;9P2000.u extensions
*)}val make :
name:string ->
qid:Qid.t ->
?mode:FileMode.t ->
?length:int64 ->
?atime:int32 ->
?mtime:int32 ->
?uid:string ->
?gid:string ->
?muid:string ->
?u:extension ->
unit ->
tval sizeof : t -> intThe size of a buffer needed to hold t
val read : Cstruct.t -> (t * Cstruct.t, [ `Msg of string ]) Stdlib.resultRead 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.resultWrite a t into the given buffer. If the buffer is too small, then return an error. Return the unused remainder of the buffer.