diff options
Diffstat (limited to 'src/uscxml/util')
-rw-r--r-- | src/uscxml/util/Base64.h | 60 | ||||
-rw-r--r-- | src/uscxml/util/MD5.h | 50 | ||||
-rw-r--r--[-rwxr-xr-x] | src/uscxml/util/SHA1.h | 67 |
3 files changed, 102 insertions, 75 deletions
diff --git a/src/uscxml/util/Base64.h b/src/uscxml/util/Base64.h index 3bd4c6c..7dfc83c 100644 --- a/src/uscxml/util/Base64.h +++ b/src/uscxml/util/Base64.h @@ -8,50 +8,58 @@ For details, see http://sourceforge.net/projects/libb64 #ifndef BASE64_H_MMR5NHB7 #define BASE64_H_MMR5NHB7 +#if defined(_WIN32) && !defined(USCXML_STATIC) +# ifdef USCXML_EXPORT +# define USCXML_API __declspec(dllexport) +# else +# define USCXML_API __declspec(dllimport) +# endif +#else +# define USCXML_API +#endif + #ifdef __cplusplus extern "C" { #endif /// DECODE -typedef enum -{ - step_a, step_b, step_c, step_d -} base64_decodestep; + typedef enum + { + step_a, step_b, step_c, step_d + } + base64_decodestep; -typedef struct -{ - base64_decodestep step; - char plainchar; -} base64_decodestate; + typedef struct { + base64_decodestep step; + char plainchar; + } base64_decodestate; -void base64_init_decodestate(base64_decodestate* state_in); + USCXML_API void base64_init_decodestate(base64_decodestate* state_in); -int base64_decode_value(char value_in); + USCXML_API int base64_decode_value(char value_in); -int base64_decode_block(const char* code_in, const int length_in, char* plaintext_out, base64_decodestate* state_in); + USCXML_API int base64_decode_block(const char* code_in, const int length_in, char* plaintext_out, base64_decodestate* state_in); /// ENDCODE -typedef enum -{ - step_A, step_B, step_C -} base64_encodestep; + typedef enum { + step_A, step_B, step_C + } base64_encodestep; -typedef struct -{ - base64_encodestep step; - char result; - int stepcount; -} base64_encodestate; + typedef struct { + base64_encodestep step; + char result; + int stepcount; + } base64_encodestate; -void base64_init_encodestate(base64_encodestate* state_in); + USCXML_API void base64_init_encodestate(base64_encodestate* state_in); -char base64_encode_value(char value_in); + USCXML_API char base64_encode_value(char value_in); -int base64_encode_block(const char* plaintext_in, int length_in, char* code_out, base64_encodestate* state_in); + USCXML_API int base64_encode_block(const char* plaintext_in, int length_in, char* code_out, base64_encodestate* state_in); -int base64_encode_blockend(char* code_out, base64_encodestate* state_in); + USCXML_API int base64_encode_blockend(char* code_out, base64_encodestate* state_in); #ifdef __cplusplus } diff --git a/src/uscxml/util/MD5.h b/src/uscxml/util/MD5.h index a3468d9..840c704 100644 --- a/src/uscxml/util/MD5.h +++ b/src/uscxml/util/MD5.h @@ -50,39 +50,49 @@ #ifndef md5_INCLUDED # define md5_INCLUDED +#if defined(_WIN32) && !defined(USCXML_STATIC) +# ifdef USCXML_EXPORT +# define USCXML_API __declspec(dllexport) +# else +# define USCXML_API __declspec(dllimport) +# endif +#else +# define USCXML_API +#endif + #ifdef __cplusplus extern "C" { #endif -/* - * This package supports both compile-time and run-time determination of CPU - * byte order. If ARCH_IS_BIG_ENDIAN is defined as 0, the code will be - * compiled to run only on little-endian CPUs; if ARCH_IS_BIG_ENDIAN is - * defined as non-zero, the code will be compiled to run only on big-endian - * CPUs; if ARCH_IS_BIG_ENDIAN is not defined, the code will be compiled to - * run on either big- or little-endian CPUs, but will run slightly less - * efficiently on either one than if ARCH_IS_BIG_ENDIAN is defined. - */ + /* + * This package supports both compile-time and run-time determination of CPU + * byte order. If ARCH_IS_BIG_ENDIAN is defined as 0, the code will be + * compiled to run only on little-endian CPUs; if ARCH_IS_BIG_ENDIAN is + * defined as non-zero, the code will be compiled to run only on big-endian + * CPUs; if ARCH_IS_BIG_ENDIAN is not defined, the code will be compiled to + * run on either big- or little-endian CPUs, but will run slightly less + * efficiently on either one than if ARCH_IS_BIG_ENDIAN is defined. + */ -typedef unsigned char md5_byte_t; /* 8-bit byte */ -typedef unsigned int md5_word_t; /* 32-bit word */ + typedef unsigned char md5_byte_t; /* 8-bit byte */ + typedef unsigned int md5_word_t; /* 32-bit word */ -/* Define the state of the MD5 Algorithm. */ -typedef struct md5_state_s { - md5_word_t count[2]; /* message length in bits, lsw first */ - md5_word_t abcd[4]; /* digest buffer */ - md5_byte_t buf[64]; /* accumulate block */ -} md5_state_t; + /* Define the state of the MD5 Algorithm. */ + typedef struct md5_state_s { + md5_word_t count[2]; /* message length in bits, lsw first */ + md5_word_t abcd[4]; /* digest buffer */ + md5_byte_t buf[64]; /* accumulate block */ + } md5_state_t; /* Initialize the algorithm. */ - void md5_init(md5_state_t *pms); + USCXML_API void md5_init(md5_state_t *pms); /* Append a string to the message. */ - void md5_append(md5_state_t *pms, const md5_byte_t *data, int nbytes); + USCXML_API void md5_append(md5_state_t *pms, const md5_byte_t *data, int nbytes); /* Finish the message and return the digest. */ - void md5_finish(md5_state_t *pms, md5_byte_t digest[16]); + USCXML_API void md5_finish(md5_state_t *pms, md5_byte_t digest[16]); #ifdef __cplusplus } /* end extern "C" */ diff --git a/src/uscxml/util/SHA1.h b/src/uscxml/util/SHA1.h index 2b1f466..f9baa5b 100755..100644 --- a/src/uscxml/util/SHA1.h +++ b/src/uscxml/util/SHA1.h @@ -5,13 +5,13 @@ Freeware Public License (FPL) This software is licensed as "freeware." Permission to distribute - this software in source and binary forms, including incorporation - into other products, is hereby granted without a fee. THIS SOFTWARE - IS PROVIDED 'AS IS' AND WITHOUT ANY EXPRESSED OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY - AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHOR SHALL NOT BE HELD - LIABLE FOR ANY DAMAGES RESULTING FROM THE USE OF THIS SOFTWARE, EITHER - DIRECTLY OR INDIRECTLY, INCLUDING, BUT NOT LIMITED TO, LOSS OF DATA + this software in source and binary forms, including incorporation + into other products, is hereby granted without a fee. THIS SOFTWARE + IS PROVIDED 'AS IS' AND WITHOUT ANY EXPRESSED OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHOR SHALL NOT BE HELD + LIABLE FOR ANY DAMAGES RESULTING FROM THE USE OF THIS SOFTWARE, EITHER + DIRECTLY OR INDIRECTLY, INCLUDING, BUT NOT LIMITED TO, LOSS OF DATA OR DATA BEING RENDERED INACCURATE. */ @@ -41,36 +41,45 @@ #ifndef _SHA1_H_ #define _SHA1_H_ +#if defined(_WIN32) && !defined(USCXML_STATIC) +# ifdef USCXML_EXPORT +# define USCXML_API __declspec(dllexport) +# else +# define USCXML_API __declspec(dllimport) +# endif +#else +# define USCXML_API +#endif + #ifdef __cplusplus extern "C" { #endif -/* - * This structure will hold context information for the hashing - * operation - */ -typedef struct SHA1Context -{ - unsigned Message_Digest[5]; /* Message Digest (output) */ + /* + * This structure will hold context information for the hashing + * operation + */ + typedef struct SHA1Context { + unsigned Message_Digest[5]; /* Message Digest (output) */ - unsigned Length_Low; /* Message length in bits */ - unsigned Length_High; /* Message length in bits */ + unsigned Length_Low; /* Message length in bits */ + unsigned Length_High; /* Message length in bits */ - unsigned char Message_Block[64]; /* 512-bit message blocks */ - int Message_Block_Index; /* Index into message block array */ + unsigned char Message_Block[64]; /* 512-bit message blocks */ + int Message_Block_Index; /* Index into message block array */ - int Computed; /* Is the digest computed? */ - int Corrupted; /* Is the message digest corruped? */ -} SHA1Context; + int Computed; /* Is the digest computed? */ + int Corrupted; /* Is the message digest corruped? */ + } SHA1Context; -/* - * Function Prototypes - */ -void SHA1Reset(SHA1Context *); -int SHA1Result(SHA1Context *); -void SHA1Input(SHA1Context *, - const unsigned char *, - unsigned); + /* + * Function Prototypes + */ + USCXML_API void SHA1Reset(SHA1Context *); + USCXML_API int SHA1Result(SHA1Context *); + USCXML_API void SHA1Input(SHA1Context *, + const unsigned char *, + unsigned); #ifdef __cplusplus } |