Direct bindings to the underlying C library functions. These should not be needed for most users.
FFI of the recovery module
A Secp256k1 context, containing various precomputed values and such
needed to do elliptic curve computations. If you create one of these
Library-internal representation of a Secp256k1 public key
Library-internal representation of a Secp256k1 signature
Flag for context to enable no precomputation
Flag for context to enable verification precomputation
Flag for context to enable signing precomputation
Flag for keys to indicate uncompressed serialization format
Flag for keys to indicate compressed serialization format
Default ECDH hash function
A trait for producing pointers that will always be valid in C. (assuming NULL pointer is a valid no-op) Rust doesn't promise what pointers does it give to ZST (https://doc.rust-lang.org/nomicon/exotic-sizes.html#zero-sized-types-zsts) In case the type is empty this trait will give a NULL pointer, which should be handled in C.
Hash function to use to post-process an ECDH point to get a shared secret.
A nonce generation function. Ordinary users of the library never need to see this type; only if you need to control nonce generation do you need to use it. I have deliberately made this hard to do: you have to write your own wrapper around the FFI functions to use it. And it's an unsafe type. Nonces are generated deterministically by RFC6979 by default; there should be no need to ever change this.