From a878a99fc6c5b9a92314a6d0caa476e0d35ab3bf Mon Sep 17 00:00:00 2001 From: Viktor Krikun Date: Tue, 22 Jun 2010 09:44:33 +0000 Subject: [PATCH] Changes for Zfone on Windows x64 --- include/zrtp_config.h | 2 + include/zrtp_config_user.h | 10 ++- include/zrtp_config_win.h | 140 +++++++++++++++++++------------------ include/zrtp_iface_cache.h | 15 ++-- 4 files changed, 92 insertions(+), 75 deletions(-) diff --git a/include/zrtp_config.h b/include/zrtp_config.h index ca002d8c43..0b67868fd9 100644 --- a/include/zrtp_config.h +++ b/include/zrtp_config.h @@ -30,6 +30,8 @@ # elif defined(_WIN32) || defined(__WIN32__) || defined(_WIN64) || defined(WIN32) || defined(__TOS_WIN__) # if defined(__BUILDMACHINE__) && (__BUILDMACHINE__ == WinDDK) # define ZRTP_PLATFORM ZP_WIN32_KERNEL +# elif defined(_WIN64) +# define ZRTP_PLATFORM ZP_WIN32 # else # define ZRTP_PLATFORM ZP_WIN32 # endif diff --git a/include/zrtp_config_user.h b/include/zrtp_config_user.h index 707349ed1c..b9d361bdc2 100644 --- a/include/zrtp_config_user.h +++ b/include/zrtp_config_user.h @@ -110,7 +110,15 @@ #endif #ifndef ZRTP_USE_BUILTIN_CACHE -#define ZRTP_USE_BUILTIN_CACHE 1 +# if defined(_WIN32) || defined(__WIN32__) || defined(_WIN64) || defined(WIN32) || defined(__TOS_WIN__) +# if defined(__BUILDMACHINE__) && (__BUILDMACHINE__ == WinDDK) +# define ZRTP_USE_BUILTIN_CACHE 1 +# else +# define ZRTP_USE_BUILTIN_CACHE 0 +# endif +# else +# define ZRTP_USE_BUILTIN_CACHE 1 +# endif #endif #ifndef ZRTP_ENABLE_EC diff --git a/include/zrtp_config_win.h b/include/zrtp_config_win.h index 16e49f833f..23a53e9507 100644 --- a/include/zrtp_config_win.h +++ b/include/zrtp_config_win.h @@ -1,70 +1,74 @@ -/* - * libZRTP SDK library, implements the ZRTP secure VoIP protocol. - * Copyright (c) 2006-2009 Philip R. Zimmermann. All rights reserved. - * Contact: http://philzimmermann.com - * For licensing and other legal details, see the file zrtp_legal.c. - * - * Viktor Krykun - */ - -#ifndef ZRTP_WIN_CONFIG_H__ -#define ZRTP_WIN_CONFIG_H__ - +/* + * libZRTP SDK library, implements the ZRTP secure VoIP protocol. + * Copyright (c) 2006-2009 Philip R. Zimmermann. All rights reserved. + * Contact: http://philzimmermann.com + * For licensing and other legal details, see the file zrtp_legal.c. + * + * Viktor Krykun + */ + +#ifndef ZRTP_WIN_CONFIG_H__ +#define ZRTP_WIN_CONFIG_H__ + #define _CRT_SECURE_NO_WARNINGS 1 #pragma warning(disable: 4068) - -/* - * Used to map system integer types to zrtp integer definitions. - * Define to 1 if you have the header file. - */ -#undef ZRTP_HAVE_INTTYPES_H - -#define ZRTP_HAVE_STRING_H 1 - -/* - * This header is needed for operations with binary file in deefault realization - * of the secrets' cache. Can be eliminated if default cache isn't used. - * Define to 1 if you have the header file. - */ -#ifndef ZRTP_HAVE_STDIO_H -# define ZRTP_HAVE_STDIO_H 1 -#endif - -#ifndef ZRTP_HAVE_STDARG_H -# define ZRTP_HAVE_STDARG_H 1 -#endif - -/* - * Used by bnlib, but we don't need this on Windows platform. - */ -#ifndef NO_ASSERT_H - #define NO_ASSERT_H 1 -#endif - -/* - * Used by bnlib. We have stdlib in any Windows platform - set it to 1. - */ -#ifndef NO_STDLIB_H - #define NO_STDLIB_H 0 -#endif - - -#define ZRTP_HAVE_INT64_T 0 -#define ZRTP_HAVE_INT32_T 0 -#define ZRTP_HAVE_INT16_T 0 -#define ZRTP_HAVE_INT8_T 0 - -#define ZRTP_HAVE_UINT64_T 0 -#define ZRTP_HAVE_UINT32_T 0 -#define ZRTP_HAVE_UINT16_T 0 -#define ZRTP_HAVE_UINT8_T 0 - -#define SIZEOF_UNSIGNED_LONG 4 -#define SIZEOF_UNSIGNED_LONG_LONG 8 - -#define ZRTP_INLINE static __inline - -#define ZRTP_VERSION "0.90" - - -#endif /* ZRTP_WIN_CONFIG_H__ */ + +#if !(defined(__BUILDMACHINE__) && __BUILDMACHINE__ == WinDDK) +#include +#endif + +/* + * Used to map system integer types to zrtp integer definitions. + * Define to 1 if you have the header file. + */ +#undef ZRTP_HAVE_INTTYPES_H + +#define ZRTP_HAVE_STRING_H 1 + +/* + * This header is needed for operations with binary file in deefault realization + * of the secrets' cache. Can be eliminated if default cache isn't used. + * Define to 1 if you have the header file. + */ +#ifndef ZRTP_HAVE_STDIO_H +# define ZRTP_HAVE_STDIO_H 1 +#endif + +#ifndef ZRTP_HAVE_STDARG_H +# define ZRTP_HAVE_STDARG_H 1 +#endif + +/* + * Used by bnlib, but we don't need this on Windows platform. + */ +#ifndef NO_ASSERT_H + #define NO_ASSERT_H 1 +#endif + +/* + * Used by bnlib. We have stdlib in any Windows platform - set it to 1. + */ +#ifndef NO_STDLIB_H + #define NO_STDLIB_H 0 +#endif + + +#define ZRTP_HAVE_INT64_T 0 +#define ZRTP_HAVE_INT32_T 0 +#define ZRTP_HAVE_INT16_T 0 +#define ZRTP_HAVE_INT8_T 0 + +#define ZRTP_HAVE_UINT64_T 0 +#define ZRTP_HAVE_UINT32_T 0 +#define ZRTP_HAVE_UINT16_T 0 +#define ZRTP_HAVE_UINT8_T 0 + +#define SIZEOF_UNSIGNED_LONG 4 +#define SIZEOF_UNSIGNED_LONG_LONG 8 + +#define ZRTP_INLINE static __inline + +#define ZRTP_VERSION "0.90" + + +#endif /* ZRTP_WIN_CONFIG_H__ */ diff --git a/include/zrtp_iface_cache.h b/include/zrtp_iface_cache.h index c401ba9f7f..9a60b83496 100644 --- a/include/zrtp_iface_cache.h +++ b/include/zrtp_iface_cache.h @@ -16,13 +16,13 @@ #include "zrtp_error.h" #include "zrtp_iface.h" -#if defined(ZRTP_USE_BUILTIN_CACHE) && (ZRTP_USE_BUILTIN_CACHE == 1) - #if defined(__cplusplus) extern "C" { #endif +#if defined(ZRTP_USE_BUILTIN_CACHE) && (ZRTP_USE_BUILTIN_CACHE == 1) + #define ZRTP_DEF_CACHE_VERSION_STR "libZRTP cache version=" #define ZRTP_DEF_CACHE_VERSION_VAL "1.0" @@ -58,7 +58,8 @@ typedef struct zrtp_cache_elem mlist_t _mlist; } zrtp_cache_elem_t; - +#endif /* ZRTP_USE_BUILTIN_CACHE */ + zrtp_status_t zrtp_def_cache_init(zrtp_global_t* zrtp); void zrtp_def_cache_down(); @@ -97,6 +98,7 @@ zrtp_status_t zrtp_def_cache_get_presh_counter( const zrtp_stringn_t* one_zid, const zrtp_stringn_t* another_zid, uint32_t* counter); +#if defined(ZRTP_USE_BUILTIN_CACHE) && (ZRTP_USE_BUILTIN_CACHE == 1) /** * @brief Cache iterator * zrtp_def_cache_foreach() calls this function for every cache entry. @@ -124,6 +126,8 @@ void zrtp_def_cache_foreach( zrtp_global_t *global, int is_mitm, zrtp_cache_callback_t callback, void *data); + +#endif /* ZRTP_USE_BUILTIN_CACHE */ /** * @brief Store shared secrets cache to the persistent storage @@ -151,14 +155,13 @@ zrtp_status_t zrtp_def_cache_put_name( const zrtp_stringn_t* one_zid, const zrtp_stringn_t* another_zid, const zrtp_stringn_t* name); +#if defined(ZRTP_USE_BUILTIN_CACHE) && (ZRTP_USE_BUILTIN_CACHE == 1) zrtp_cache_elem_t* zrtp_def_cache_get2(const zrtp_cache_id_t id, int is_mitm); - +#endif /* ZRTP_USE_BUILTIN_CACHE */ #if defined(__cplusplus) } #endif -#endif /* ZRTP_USE_BUILTIN_CACHE */ - #endif /*__ZRTP_IFACE_CACHE_H__*/