oRTP  0.20.0
include/ortp/zrtp.h
00001 /*
00002  The oRTP library is an RTP (Realtime Transport Protocol - rfc3550) stack.
00003  Copyright (C) 2011 Belledonne Communications
00004 
00005  This library is free software; you can redistribute it and/or
00006  modify it under the terms of the GNU Lesser General Public
00007  License as published by the Free Software Foundation; either
00008  version 2.1 of the License, or (at your option) any later version.
00009 
00010  This library is distributed in the hope that it will be useful,
00011  but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013  Lesser General Public License for more details.
00014 
00015  You should have received a copy of the GNU Lesser General Public
00016  License along with this library; if not, write to the Free Software
00017  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00018  */
00019 
00020 #ifndef ortp_zrtp_h
00021 #define ortp_zrtp_h
00022 
00023 #include <ortp/rtpsession.h>
00024 
00025 
00026 #ifdef HAVE_zrtp
00027 #undef PACKAGE_NAME
00028 #undef PACKAGE_STRING
00029 #undef PACKAGE_TARNAME
00030 #undef PACKAGE_VERSION
00031 #include <srtp/srtp.h>
00032 #include <libzrtpcpp/ZrtpCWrapper.h>
00033 #endif
00034 
00035 
00036 
00037 #ifdef __cplusplus
00038 extern "C"{
00039 #endif
00040 
00041 typedef struct OrtpZrtpParams {
00042         const char *zid_file; // File where to store secrets and other information
00043 } OrtpZrtpParams;
00044 
00045 typedef struct _OrtpZrtpContext OrtpZrtpContext ;
00046 
00047 bool_t ortp_zrtp_available();
00048 
00049 OrtpZrtpContext* ortp_zrtp_context_new(RtpSession *s, OrtpZrtpParams *params);
00050 OrtpZrtpContext* ortp_zrtp_multistream_new(OrtpZrtpContext* activeContext, RtpSession *s, OrtpZrtpParams *params);
00051 
00052 void ortp_zrtp_sas_verified(OrtpZrtpContext* ctx);
00053 void ortp_zrtp_sas_reset_verified(OrtpZrtpContext* ctx);
00054 
00055 void ortp_zrtp_context_destroy(OrtpZrtpContext *ctx);
00056 
00057 
00058 #ifdef __cplusplus
00059 }
00060 #endif
00061 
00062 #endif