A trait for all kinds of Context's that Lets you define the exact flags and a function to deallocate memory. It shouldn't be possible to implement this for types outside this crate.
Flags for the ffi.
const DESCRIPTION: &'static str
A constant description of the context.
unsafe fn deallocate(ptr: *mut u8, size: usize)
A function to deallocate the memory when the context is dropped.