Next: Building sources, Up: Preparation [Contents][Index]

### 2.1 Header ¶

All interfaces (data types and functions) of the library are defined in the header file `gcrypt.h`. You must include this in all source files using the library, either directly or through some other header file, like this:

    #include <gcrypt.h>

The name space of Libgcrypt is `gcry_*` for function and type names and `GCRY*` for other symbols. In addition the same name prefixes with one prepended underscore are reserved for internal use and should never be used by an application. Note that Libgcrypt uses libgpg-error, which uses `gpg_*` as name space for function and type names and `GPG_*` for other symbols, including all the error codes.

Certain parts of gcrypt.h may be excluded by defining these macros:

`GCRYPT_NO_MPI_MACROS`

  Do not define the shorthand macros `mpi_*` for `gcry_mpi_*`.

`GCRYPT_NO_DEPRECATED`

  Do not include definitions for deprecated features. This is useful to make sure that no deprecated features are used.