/home/chaser/Zfone/Work/build/zfone-full-0.90.438/zfone3/lib/libzrtp/include/zrtp.h File Reference

Defines basic libzrtp functions and data types. More...

#include "zrtp_config.h"
#include "zrtp_base.h"
#include "zrtp_error.h"
#include "zrtp_types.h"
#include "zrtp_protocol.h"
#include "zrtp_engine.h"
#include "zrtp_crypto.h"
#include "zrtp_iface.h"
#include "zrtp_iface_system.h"
#include "zrtp_iface_scheduler.h"
#include "zrtp_list.h"
#include "zrtp_legal.h"
#include "zrtp_log.h"
#include "zrtp_srtp.h"
#include "zrtp_srtp_builtin.h"
#include "zrtp_string.h"
#include "zrtp_pbx.h"
#include "zrtp_version.h"
#include "zrtp_iface_cache.h"
#include "zrtp_ec.h"

Include dependency graph for zrtp.h:

Go to the source code of this file.

Data Structures

struct  zrtp_config_t
 ZRTP global configuration options. More...
struct  zrtp_stream_info_t
 zrtp stream information structure

libzrtp, since v0.80 takes data incapsulating approach and hides all private date inside zrtp_stream_t structure. Developers shouldn't access them directly. zrtp_stream_get() should be used instead to fill zrtp_stream_info_t structure. zrtp_stream_info_t contains all needed information in safe and easy to use form. More...

struct  zrtp_session_info_t
 zrtp session information structure

libzrtp, since v0.80 takes data incapsulating approach and hides all private date inside zrtp_session_t structure. Developers shouldn't access them directly. zrtp_session_get() should be used instead to fill zrtp_session_info_t structure. zrtp_session_info_t contains all needed information in safe and easy to use form. More...


Typedefs

typedef unsigned char zrtp_zid_t [12]
 12-byte ZID for unique ZRTP endpoint identification.
typedef char zrtp_client_id_t [16]
 16-byte ID for ZRTP endpoint's software identification.

Enumerations

enum  zrtp_license_mode_t { ZRTP_LICENSE_MODE_PASSIVE = 0, ZRTP_LICENSE_MODE_ACTIVE, ZRTP_LICENSE_MODE_UNLIMITED }
 Enumeration for ZRTP Licensing modes

A ZRTP endpoint that is Passive will never send a Commit message, which means that it cannot be the initiator in the ZRTP exchange. Since at least one of the two parties must be the initiator, two Passive endpoints cannot make a secure connection. However, a non-Passive ZRTP endpoint can send a Commit message, enabling it to act as the initiator in a ZRTP exchange. This allows it to make a secure connection to a Passive endpoint, or to another non-Passive endpoint. More...


Functions

void zrtp_config_defaults (zrtp_config_t *config)
 Initializes libzrtp global config.
zrtp_status_t zrtp_init (zrtp_config_t *config, zrtp_global_t **zrtp)
 Initializing libzrtp.
zrtp_status_t zrtp_down (zrtp_global_t *zrtp)
 Shutting down the library.
zrtp_status_t zrtp_session_init (zrtp_global_t *zrtp, zrtp_profile_t *profile, zrtp_zid_t zid, uint8_t is_initiator, zrtp_session_t **session)
 ZRTP Session Initialization.
void zrtp_session_down (zrtp_session_t *session)
 ZRTP Session context deinitialization.
zrtp_status_t zrtp_session_get (zrtp_session_t *session, zrtp_session_info_t *info)
 Obtain information about ZRTP session.
void zrtp_session_set_userdata (zrtp_session_t *session, void *udata)
 Allow user to associate some data with current zrtp session.
void * zrtp_session_get_userdata (zrtp_session_t *session)
 Return user data associated with the zrtp session.
zrtp_status_t zrtp_stream_attach (zrtp_session_t *session, zrtp_stream_t **stream)
 Attaching a new stream to the session.
zrtp_status_t zrtp_stream_start (zrtp_stream_t *stream, uint32_t ssrc)
 Starting a ZRTP stream.
zrtp_status_t zrtp_stream_stop (zrtp_stream_t *stream)
 ZRTP protocol stopping.
zrtp_status_t zrtp_stream_clear (zrtp_stream_t *stream)
 Initiating an interruption of the secure connection.
zrtp_status_t zrtp_stream_secure (zrtp_stream_t *stream)
 Initiating a secure connection setup.
zrtp_status_t zrtp_stream_get (zrtp_stream_t *stream, zrtp_stream_info_t *info)
 Obtain information about zrtp stream.
void zrtp_stream_set_userdata (zrtp_stream_t *stream, void *udata)
 Allow user to associate some data with zrtp stream.
void * zrtp_stream_get_userdata (const zrtp_stream_t *stream)
 Return user data associated with the zrtp stream.
zrtp_status_t zrtp_process_rtp (zrtp_stream_t *stream, char *packet, unsigned int *length)
 Processing outgoing RTP packets.
zrtp_status_t zrtp_process_srtp (zrtp_stream_t *stream, char *packet, unsigned int *length)
 Processing incoming RTP packets.
zrtp_status_t zrtp_process_rtcp (zrtp_stream_t *stream, char *packet, unsigned int *length)
 Processing outgoing RTCP packets.
zrtp_status_t zrtp_process_srtcp (zrtp_stream_t *stream, char *packet, unsigned int *length)
 Processing incoming RTCP packets.
zrtp_status_t zrtp_signaling_hash_set (zrtp_stream_t *stream, const char *hash_buff, uint32_t hash_buff_length)
 Specifies the hash of the peer Hello message for verification.
zrtp_status_t zrtp_signaling_hash_get (zrtp_stream_t *stream, char *hash_buff, uint32_t hash_buff_length)
 Returns the hash of the Hello message to be transferred in signaling.
zrtp_status_t zrtp_verified_set (zrtp_global_t *zrtp, zrtp_string16_t *zid1, zrtp_string16_t *zid2, uint8_t verified)
 Changing the value of the secret's verification flag.
zrtp_status_t zrtp_profile_check (const zrtp_profile_t *profile, zrtp_global_t *zrtp)
 Verifying the ZRTP profile.
void zrtp_profile_defaults (zrtp_profile_t *profile, zrtp_global_t *zrtp)
 Configure the default ZRTP profile.
int zrtp_profile_find (const zrtp_profile_t *profile, zrtp_crypto_comp_t type, uint8_t id)
 Search for a component in the profile by ID.
int zrtp_entropy_add (zrtp_global_t *zrtp, const unsigned char *buffer, uint32_t length)
 Entropy accumulation routine.
int zrtp_randstr (zrtp_global_t *zrtp, unsigned char *buffer, uint32_t length)
 Random string generation.


Detailed Description

Defines basic libzrtp functions and data types.


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