package ppx_cstruct

  1. Overview
  2. Docs
Access C-like structures directly from OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

cstruct-v3.3.0.tbz
sha256=ad44745fc5bd637f8588d35d1d449d7b924caeedd8135babb62b27dd05ccc0ab
md5=7451389f3941d938575f8887c55c5e6b

doc/ppx_cstruct/Ppx_cstruct/index.html

Module Ppx_cstruct

module Loc = Migrate_parsetree.Ast_404.Location
module Ast = Ast_convenience_404
type mode =
  1. | Big_endian
  2. | Little_endian
  3. | Host_endian
  4. | Bi_endian
type prim =
  1. | Char
  2. | UInt8
  3. | UInt16
  4. | UInt32
  5. | UInt64
type ty =
  1. | Prim of prim
  2. | Buffer of prim * int
type field = {
  1. field : string;
  2. ty : ty;
  3. off : int;
}
type t = {
  1. name : string;
  2. fields : field list;
  3. len : int;
  4. endian : mode;
}
val ty_of_string : string -> prim option
val width_of_field : field -> int
val field_to_string : field -> string
val to_string : t -> string
val loc_err : Migrate_parsetree.Ast_404.Location.t -> ('a, Format.formatter, unit, unit, unit, 'b) format6 -> 'a
val parse_field : Migrate_parsetree.Ast_404.Location.t -> string -> string -> int option -> field
val create_struct : Migrate_parsetree.Ast_404.Location.t -> string -> string Migrate_parsetree.Ast_404.Asttypes.loc -> field list -> t
val ($.) : Migrate_parsetree.Ast_404.Longident.t -> string -> Migrate_parsetree.Ast_404.Longident.t
val cstruct_id : Migrate_parsetree.Ast_404.Longident.t
val mode_mod : Migrate_parsetree__Ast_404.Ast_helper.loc -> mode -> string -> Migrate_parsetree__Ast_404.Parsetree.expression
val getter_name : t -> field -> string
val setter_name : t -> field -> string
val op_name : string -> t -> field -> string
val output_get : Migrate_parsetree__Ast_404.Ast_helper.loc -> t -> field -> Migrate_parsetree.Ast_404.Parsetree.structure_item list
val type_of_int_field : 'a -> prim -> Migrate_parsetree.Ast_404.Parsetree.core_type
val output_get_sig : 'a -> t -> field -> Migrate_parsetree__Ast_404.Parsetree.signature_item list
val output_set : Migrate_parsetree__Ast_404.Ast_helper.loc -> t -> field -> Migrate_parsetree.Ast_404.Parsetree.structure_item list
val output_set_sig : Loc.t -> t -> field -> Migrate_parsetree__Ast_404.Parsetree.signature_item list
val output_sizeof : Migrate_parsetree__Ast_404.Location.t -> t -> Migrate_parsetree.Ast_404.Parsetree.structure_item
val output_sizeof_sig : Migrate_parsetree__Ast_404.Location.t -> t -> Migrate_parsetree__Ast_404.Parsetree.signature_item
val output_hexdump : Migrate_parsetree__Ast_404.Location.t -> t -> Migrate_parsetree.Ast_404.Parsetree.structure_item list
val output_hexdump_sig : Loc.t -> t -> Migrate_parsetree__Ast_404.Parsetree.signature_item list
val output_struct_one_endian : Migrate_parsetree__Ast_404.Ast_helper.loc -> t -> Migrate_parsetree.Ast_404.Parsetree.structure_item list
val output_struct : Migrate_parsetree__Ast_404.Ast_helper.loc -> t -> Migrate_parsetree.Ast_404.Parsetree.structure_item list
val output_struct_sig : Loc.t -> t -> Migrate_parsetree__Ast_404.Parsetree.signature_item list
val output_enum : Migrate_parsetree.Ast_404.Location.t -> string Migrate_parsetree.Ast_404.Asttypes.loc -> (string Migrate_parsetree.Ast_404.Asttypes.loc * int64) list -> string -> sexp:bool -> Migrate_parsetree.Ast_404.Parsetree.structure_item list
val output_enum_sig : Migrate_parsetree.Ast_404.Location.t -> string Migrate_parsetree.Ast_404.Asttypes.loc -> (Migrate_parsetree__Ast_404.Ast_helper.str * 'a) list -> string -> sexp:bool -> Migrate_parsetree__Ast_404.Parsetree.signature_item list
val constr_enum : Migrate_parsetree.Ast_404.Parsetree.constructor_declaration -> string Migrate_parsetree__Ast_404.Asttypes.loc * int64 option
val constr_field : Migrate_parsetree.Ast_404.Parsetree.label_declaration -> field
val cstruct : Migrate_parsetree.Ast_404.Parsetree.type_declaration -> t
val cenum : Migrate_parsetree.Ast_404.Parsetree.type_declaration -> string Migrate_parsetree__Ast_404.Asttypes.loc * (string Migrate_parsetree__Ast_404.Asttypes.loc * int64) list * string * bool
val signature_item' : Migrate_parsetree.Ast_404.Ast_mapper.mapper -> Migrate_parsetree.Ast_404.Parsetree.signature_item -> Migrate_parsetree__Ast_404.Parsetree.signature_item list
val signature : Migrate_parsetree.Ast_404.Ast_mapper.mapper -> Migrate_parsetree.Ast_404.Parsetree.signature_item list -> Migrate_parsetree__Ast_404.Parsetree.signature_item list
val structure_item' : Migrate_parsetree.Ast_404.Ast_mapper.mapper -> Migrate_parsetree.Ast_404.Parsetree.structure_item -> Migrate_parsetree.Ast_404.Parsetree.structure_item list
val structure : Migrate_parsetree.Ast_404.Ast_mapper.mapper -> Migrate_parsetree.Ast_404.Parsetree.structure_item list -> Migrate_parsetree.Ast_404.Parsetree.structure_item list
OCaml

Innovation. Community. Security.