package pkcs11-driver

  1. Overview
  2. Docs
Bindings to the PKCS#11 cryptographic API

Install

Dune Dependency

Authors

Maintainers

Sources

pkcs11-v1.0.0.tbz
sha256=eee2e67fff116d747d1d0f6229af9e952cbb4f9a56765c069c63c1e1bbbc67a3
sha512=3a1090b0cd53b09dffb4c2a2d591e290ff3fe9add1217797f9746a1a6af0d41239b217f1dd45354e3ee457ff007d68bb4d8d83f07001d6ad9870e7aaba4fd434

doc/pkcs11-driver/Ctypes_helpers/index.html

Module Ctypes_helpersSource

Sourcetype ulong = Unsigned.ULong.t
Sourcemodule Reachable_ptr : sig ... end

Pointers with a GC link from the structure they are in. These are like Ctypes.ptr except that setf will add a link (through a finalizer) from the structure to the pointer to prevent its early collection.

Sourceval ptr_from_string : string -> char Ctypes.ptr

ptr_from_string s allocates memory for a C string with length String.length s and content copied from s. The string is not null terminated.

Sourceval string_from_ptr : char Ctypes.ptr -> length:int -> string

string_from_ptr allocates an OCaml string.

Sourceval string_from_carray : char Ctypes.CArray.t -> string

string_from_carray array allocates a fresh OCaml string whose content are copied from array.

Sourceval carray_from_string : string -> char Ctypes.CArray.t

carray_from_string allocates a fresh array, whose content is identical to the string s. The resulting C string is not null terminated.

Sourceval string_copy : string -> int -> char Ctypes.ptr -> unit

string_copy str length ptr copy the content of str into the length bytes of memory pointed to by ptr.

Sourceval make_string : string -> 'a Ctypes.structure -> (Unsigned.ULong.t, 'a Ctypes.structure) Ctypes.field -> ('b Reachable_ptr.t, 'a Ctypes.structure) Ctypes.field -> unit

* Copy an OCaml string to a Ctypes struct. * * Parameters: * - str is the source string * - p is the structure * - lengthField is the field within that struct that holds then length * - dataField idem for data * - typ is the type of the data

* Read an OCaml string from a Ctypes struct. * * Parameters: same as make_string.

Sourceval make_string_option : string option -> ('a, [ `Struct ]) Ctypes.structured -> (Unsigned.ULong.t, ('a, [ `Struct ]) Ctypes.structured) Ctypes.field -> ('b Reachable_ptr.t, ('a, [ `Struct ]) Ctypes.structured) Ctypes.field -> unit

* Copy a string option to a pointer + length. * Copying None sets the pointer to NULL and length to 0. * Parameters are the same as make_string.

Sourceval view_string_option : ('a, [ `Struct ]) Ctypes.structured -> (ulong, 'a Ctypes.structure) Ctypes.field -> ('b Reachable_ptr.t, ('a, [ `Struct ]) Ctypes.structured) Ctypes.field -> string option

* Make a string option out of a pointer + length. * Same semantics for copy as make_string_option. * Same arguments as view_string.

Sourceexception Buffer_overflow
Sourceval blank_padded : length:int -> string -> string

Pad a string with ' ' up to length. Raises Buffer_overflow if the string is too long.

Sourceval packed_field : 't Ctypes.typ -> string -> 'a Ctypes.typ -> ('a, ('s, [< `Struct | `Union ]) Ctypes_static.structured as 't) Ctypes.field

Like Ctypes.field except that it will always align to 1 byte.

Sourceval smart_field : 't Ctypes.typ -> string -> 'a Ctypes.typ -> ('a, ('s, [< `Struct | `Union ]) Ctypes_static.structured as 't) Ctypes.field

On unix, act like Ctypes.field. On windows, act like packed_field.

Sourceval with_out_fmt : string -> (Format.formatter -> 'a) -> 'a

Open a file for writing and returns a formatter to it.

OCaml

Innovation. Community. Security.