SlunkCrypt/libMCrypt/include/mcrypt.h

50 lines
1.4 KiB
C
Raw Normal View History

2020-10-12 19:10:19 +02:00
/******************************************************************************/
/* MCrypt, by LoRd_MuldeR <MuldeR2@GMX.de> */
/* This work has been released under the CC0 1.0 Universal license! */
/******************************************************************************/
#ifndef INC_MCYRPT_H
#define INC_MCYRPT_H
#include <stdlib.h>
#include <stdint.h>
extern const char *const LIBMCRYPT_VERSION;
extern const char* const LIBMCRYPT_BUILDNO;
2020-10-12 19:10:19 +02:00
2020-10-13 19:33:01 +02:00
/*
* Opaque handle to internal state
*/
2020-10-13 00:43:57 +02:00
typedef void* mcrypt_t;
2020-10-12 19:10:19 +02:00
2020-10-13 19:33:01 +02:00
/*
* Seed generator
*/
2020-10-12 19:10:19 +02:00
int mcrypt_generate_seed(uint64_t* const seed);
2020-10-13 19:33:01 +02:00
/*
* Allocate or free state
*/
2020-10-13 00:43:57 +02:00
mcrypt_t mcrypt_alloc(const uint64_t salt, const char* const passphrase);
2020-10-12 19:10:19 +02:00
void mcrypt_free(const mcrypt_t context);
2020-10-13 19:33:01 +02:00
/*
* Encryption routines
*/
2020-10-12 19:10:19 +02:00
int mcrypt_enc_process(const mcrypt_t context, const uint8_t* const input, uint8_t* const output, size_t length);
int mcrypt_enc_process_inplace(const mcrypt_t context, uint8_t* const buffer, size_t length);
2020-10-13 19:33:01 +02:00
/*
* Decryption routines
*/
2020-10-12 19:10:19 +02:00
int mcrypt_dec_process(const mcrypt_t context, const uint8_t* const input, uint8_t* const output, size_t length);
int mcrypt_dec_process_inplace(const mcrypt_t context, uint8_t* const buffer, size_t length);
2020-10-13 19:33:01 +02:00
/*
* Auxiliary functions
*/
int mcrypt_random_bytes(uint8_t* const buffer, const size_t length);
void mcrypt_bzero(void* const ptr, const size_t length);
2020-10-12 19:10:19 +02:00
#endif