Legend:
Library
Module
Module type
Parameter
Class
Class type
Data: input and output of encryption functions.
An element of type t is a structure made of a pointer to a C string, and its length. It is easy to convert this type to and from OCaml strings.
The reason we use this type is that some PKCS#11 functions require a two step interraction, in which one first gives a null pointer (with length 0) to a function, which modifies the length of the data. Then, the user allocates memory for this Data.t, and performs a second call to the function.