Build Configuration


Defines

#define ZP_WIN32   100
 Constant to define ZRTP Windows 32-bit platform.
#define ZP_WIN64   106
 Constant to define ZRTP Windows 64-bit platform.
#define ZP_WIN32_KERNEL   101
 Constant to define ZRTP Windows Kernel mode.
#define ZP_WINCE   102
 Constant to define ZRTP Windows CE platform.
#define ZP_LINUX   103
 Constant to define Linux and *nux platforms.
#define ZP_DARWIN   104
 Constant to define Mac OS X Platform.
#define ZP_SYMBIAN   105
 Constant to define Symbian OS.
#define ZP_BSD   107
 Constant to define ZRTP BSD platform.
#define ZBO_BIG_ENDIAN   0x4321
 Define Platform manually there.
#define ZBO_LITTLE_ENDIAN   0x1234
 Constant to define Little Endian Platform.
#define ZRTP_SAS_DIGEST_LENGTH   32
 Define Platform Byte Order manually there.
#define ZRTP_MAX_STREAMS_PER_SESSION   2
 Defines maximum number of ZRTP streams within one session.
#define ZRTP_USE_EXTERN_SRTP   0
 Allows to build libzrtp against external srtp encryption library.
#define ZRTP_USE_STACK_MINIM   0
 Build libzrtp with minimum stack usage.
#define ZRTP_USE_BUILTIN   1
#define ZRTP_USE_BUILTIN_SCEHDULER   1
#define ZRTP_USE_BUILTIN_CACHE   1
#define ZRTP_ENABLE_EC   1
#define ZRTP_DEBUG_WITH_PJSIP   0
#define ZRTP_BUILD_FOR_CSD   0
 Set to 1 if you build libzrtp against libzrtp-s.
#define ZRTP_PRESHARED_MAX_ALLOWED   20
 Maximum number of Preshared exchanges allowed since last retain secret update.
#define ZRTP_LOG_MAX_LEVEL   3
 Defines libzrtp log-level.
#define ZRTP_DEBUG_SRTP_KEYS   0
 Enables SRTP debug output.
#define ZRTP_DEBUG_ZRTP_KEYS   0
 Enables ZRTP Crypto debug logging.

Detailed Description

As libzrtp based on few OS dependent components, target platform and byte-order must be defined on compilation level. libzrtp provides automatic platform and byte-order detection. Developer needs to define these parameters manually in very specific cases only.

libzrtp originaly supports folowwing platforms:

In order to specify platform manually, developer should define ZRTP_PLATFORM value. If ZRTP_PLATFORM is not defined - libzrtp will try to detect it automatically (see zrtp_config.h).

In order to specify platform byte-order manually, developer should define ZRTP_BYTE_ORDER value. If ZRTP_BYTE_ORDER is not defined - libzrtp will try to detect it automatically.


Define Documentation

#define ZBO_BIG_ENDIAN   0x4321

Define Platform manually there.

Constant to define Big Endian Platform

#define ZRTP_BUILD_FOR_CSD   0

Set to 1 if you build libzrtp against libzrtp-s.

CSD-mode was implemented to support new ZRTP/S protocol designed by KHAMSA SA, Via Giacometti 1, CH-6900, Lugano - info@khamsa.ch. and Phil Zimmermann. ZRTP/S allows to make secure ZRTP calls over CSD channels. This option affect enterprise version of the library only.

#define ZRTP_DEBUG_SRTP_KEYS   0

Enables SRTP debug output.

Warning:
! ZRTP crypto debug logs may include security sensitive information and cause security weakness in the system. Enable SRTP debug logging only when it necessary.

#define ZRTP_DEBUG_ZRTP_KEYS   0

Enables ZRTP Crypto debug logging.

Warning:
! ZRTP crypto debug logs may include security sensitive information and cause security weakness in the system. Enable ZRTP Protocol debug logging only when it necessary.

#define ZRTP_LOG_MAX_LEVEL   3

Defines libzrtp log-level.

Defines maximum log level for libzrtp: log-level 3 contains debug messages, 2 - warnings and software errors, 1 - security issues. If you set this option to 0 - libzrtp will not debug output and will not even make a log function calls.

#define ZRTP_PRESHARED_MAX_ALLOWED   20

Maximum number of Preshared exchanges allowed since last retain secret update.

Preshared key exchange mode has lot of weaknesses comparing to DH. And one of them - lack of key continuity. Preshared mode is not recommended unless there is a strong necessity in using it (slow CPU device, low-latency channel).

To minimize risk of using Preshared exchanges, libzrtp automatically limits number for preshared connection available for the same instance of RS value. In other words, libzrtp forces DH exchange every ZRTP_PRESHARED_MAX_ALLOWED calls.

#define ZRTP_SAS_DIGEST_LENGTH   32

Define Platform Byte Order manually there.

Defines the max length in bytes of a binary SAS digest

#define ZRTP_USE_EXTERN_SRTP   0

Allows to build libzrtp against external srtp encryption library.

The latest version of libzrtp, starting with 0.3.9, supplies a built-in mechanism for SRTP encryption. However, if for some reason during development it is neccesary to use an external library, this flag must be set.

#define ZRTP_USE_STACK_MINIM   0

Build libzrtp with minimum stack usage.

Set to 1 you build libzrtp in environment with strong limitation of stack size (Mobile platforms or in kernel mode). When this flag is set, some static data allocation will be changed to dynamic. The size of these data doesn't matter in "regular" PC applications, but on mobile platforms and in kernel mode, where the stack size is critical, libzrtp must work with optimized data.


Generated on Wed Dec 9 17:31:06 2009 for libzrtp  zfone