zrtp_srtp.h File Reference

#include "zrtp_error.h"
#include "zrtp_types.h"
#include "zrtp_config.h"
#include "zrtp_crypto.h"
#include "zrtp_srtp_builtin.h"

Go to the source code of this file.

Data Structures

struct  zrtp_srtp_ctx
 Structure describing an SRTP session. An instance of this structure is created by calling zrtp_srtp_create() and destroyed by calling zrtp_srtp_destroy(). It is used for protecting and unprotecting included streams. More...
struct  zrtp_srtp_global_t
 Global context of an internal SRTP implementation. It is created by calling zrtp_srtp_init() and destroyed by calling zrtp_srtp_down(). This context is used for holding replay protection mechanism data. More...
struct  zrtp_srtp_policy_t
 Structure describing SRTP/SRTCP stream parameters. More...
struct  zrtp_srtp_profile_t
 Structure describing SRTP stream parameters. Variables of this type should be mapped into the SRTP stream context when a new stream is created. More...

Defines

#define ZRTP_RTCP_E_BIT   0x80000000
#define ZRTP_RTCP_E_BYTE_BIT   0x80
#define ZRTP_RTCP_INDEX_MASK   0x7fffffff

Functions

zrtp_status_t zrtp_srtp_init (zrtp_global_ctx_t *zrtp_global)
 Initialize SRTP engine and allocate global SRTP context. Contains global data for all sessions and streams. For correct memory management, the global SRTP context should be released by calling zrtp_srtp_destroy(). A pointer to the allocated SRTP global should be saved at zrtp_global->srtp_global.
zrtp_status_t zrtp_srtp_down (zrtp_global_ctx_t *zrtp_global)
 Free all allocated resources that were allocated by initialization This function must be called at the end of SRTP engine use. A pointer to deallocated SRTP global context (zrtp_global->srtp_global) should be cleared ( set to NULL).
zrtp_srtp_ctx_t * zrtp_srtp_create (zrtp_srtp_global_t *srtp_global, zrtp_srtp_profile_t *inc_profile, zrtp_srtp_profile_t *out_profile)
 Creates SRTP context based on given incoming and outgoing profiles.
zrtp_status_t zrtp_srtp_destroy (zrtp_srtp_global_t *srtp_global, zrtp_srtp_ctx_t *srtp_ctx)
 Destroys SRTP context that was allocated by zrtp_srtp_create().
zrtp_status_t zrtp_srtp_protect (zrtp_srtp_global_t *srtp_global, zrtp_srtp_ctx_t *srtp_ctx, zrtp_rtp_info_t *packet)
 Function applies SRTP protection to the RTP packet. If zrtp_status_ok is returned, then packet points to the resulting SRTP packet; otherwise, no assumptions should be made about the value of either data elements.
zrtp_status_t zrtp_srtp_unprotect (zrtp_srtp_global_t *srtp_global, zrtp_srtp_ctx_t *srtp_ctx, zrtp_rtp_info_t *packet)
 Decrypts SRTP packet. If zrtp_status_ok is returned, then packet points to the resulting plain RTP packet; otherwise, no assumptions should be made about the value of either data elements.
zrtp_status_t zrtp_srtp_protect_rtcp (zrtp_srtp_global_t *srtp_global, zrtp_srtp_ctx_t *srtp_ctx, zrtp_rtp_info_t *packet)
 Function applies SRTCP protection to the RTCP packet. If zrtp_status_ok is returned, then packet points to the result in SRTCP packet; otherwise, no assumptions should be made about the value of either data elements.
zrtp_status_t zrtp_srtp_unprotect_rtcp (zrtp_srtp_global_t *srtp_global, zrtp_srtp_ctx_t *srtp_ctx, zrtp_rtp_info_t *packet)
 Decrypts SRTCP packet. If zrtp_status_ok is returned, then packet points to the resulting RTCP packet; otherwise, no assumptions should be made about the value of either data elements.


Define Documentation

#define ZRTP_RTCP_E_BIT   0x80000000

Definition at line 20 of file zrtp_srtp.h.

#define ZRTP_RTCP_E_BYTE_BIT   0x80

Definition at line 22 of file zrtp_srtp.h.

#define ZRTP_RTCP_INDEX_MASK   0x7fffffff

Definition at line 23 of file zrtp_srtp.h.


This file is part of the documentation for Zfone.
Copyright ©  2006-2008 Philip R. Zimmermann. All rights reserved.
Generated on Mon November 10 2008 by doxygen 1.5.7-20060202. Written by Viktor Krikun, © 2006-2008