Module safe_core::ffi::low_level_api [] [src]

Low Level APIs

Modules

appendable_data

Low level manipulation of {Pub|Priv}AppendableData

cipher_opt

Cipher Options

data_id

DataIdentifier constructions and freeing

immut_data

Low level manipulation of ImmutableData

misc

Miscellaneous routines

struct_data

Low level manipulation of StructuredData

Type Definitions

AppendableDataHandle

Disambiguating ObjectHandle

CipherOptHandle

Disambiguating ObjectHandle

DataIdHandle

Disambiguating ObjectHandle

EncryptKeyHandle

Disambiguating ObjectHandle

ObjectHandle

Object handle associated with objects. In normal C API one would expect rust code to pass pointers to opaque object to C. C code would then need to pass these pointers back each time they needed rust code to execute something on those objects. However our code base deals with communication over Web framework (like WebServers for instance). Hence it is not possible to pass pointers to remote apps interfacing with us. Pointers represent handle to actual object. Using similar concept, we instead pass ObjectHandle type over Web interface and manage the objects ourselves. This leads to extra type and memory safety and no chance of Undefined Behaviour. Passing of pointer handles to C is replaced by passing of ObjectHandle to remote apps which they will use to do RPC's.

SelfEncryptorReaderHandle

Disambiguating ObjectHandle

SelfEncryptorWriterHandle

Disambiguating ObjectHandle

SignKeyHandle

Disambiguating ObjectHandle

StructDataHandle

Disambiguating ObjectHandle