Merge pull request #47 from 2youyou2/develop

export xxtea functions to DLL
This commit is contained in:
James Chen 2017-09-28 20:27:57 -05:00 committed by GitHub
commit 979b5399f4
2 changed files with 30 additions and 2 deletions

View File

@ -20,6 +20,10 @@
#include <memory.h>
#include <stdlib.h>
#ifdef __cplusplus
extern "C" {
#endif
static void xxtea_long_encrypt(xxtea_long *v, xxtea_long len, xxtea_long *k)
{
xxtea_long n = len - 1;
@ -174,3 +178,8 @@ unsigned char *xxtea_decrypt(unsigned char *data, xxtea_long data_len, unsigned
}
/* }}} */
#ifdef __cplusplus
}
#endif

View File

@ -21,6 +21,20 @@
#include <stddef.h> /* for size_t & NULL declarations */
#if defined(_WIN32) && defined(_WINDOWS)
#if defined(_USRDLL)
#define XXTEA_DLL __declspec(dllexport)
#else /* use a DLL library */
#define XXTEA_DLL __declspec(dllimport)
#endif
#else
#define XXTEA_DLL
#endif
#ifdef __cplusplus
extern "C" {
#endif
#if defined(_MSC_VER)
typedef unsigned __int32 xxtea_long;
@ -41,7 +55,12 @@ typedef uint32_t xxtea_long;
#define XXTEA_MX (z >> 5 ^ y << 2) + (y >> 3 ^ z << 4) ^ (sum ^ y) + (k[p & 3 ^ e] ^ z)
#define XXTEA_DELTA 0x9e3779b9
unsigned char *xxtea_encrypt(unsigned char *data, xxtea_long data_len, unsigned char *key, xxtea_long key_len, xxtea_long *ret_length);
unsigned char *xxtea_decrypt(unsigned char *data, xxtea_long data_len, unsigned char *key, xxtea_long key_len, xxtea_long *ret_length);
XXTEA_DLL unsigned char *xxtea_encrypt(unsigned char *data, xxtea_long data_len, unsigned char *key, xxtea_long key_len, xxtea_long *ret_length);
XXTEA_DLL unsigned char *xxtea_decrypt(unsigned char *data, xxtea_long data_len, unsigned char *key, xxtea_long key_len, xxtea_long *ret_length);
#endif
#ifdef __cplusplus
}
#endif