soa 1.12.10

sofia-sip/soa_tag.h

Go to the documentation of this file.
00001 /*
00002  * This file is part of the Sofia-SIP package
00003  *
00004  * Copyright (C) 2005 Nokia Corporation.
00005  *
00006  * Contact: Pekka Pessi <pekka.pessi@nokia-email.address.hidden>
00007  *
00008  * This library is free software; you can redistribute it and/or
00009  * modify it under the terms of the GNU Lesser General Public License
00010  * as published by the Free Software Foundation; either version 2.1 of
00011  * the License, or (at your option) any later version.
00012  *
00013  * This library is distributed in the hope that it will be useful, but
00014  * WITHOUT ANY WARRANTY; without even the implied warranty of
00015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00016  * Lesser General Public License for more details.
00017  *
00018  * You should have received a copy of the GNU Lesser General Public
00019  * License along with this library; if not, write to the Free Software
00020  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
00021  * 02110-1301 USA
00022  *
00023  */
00024 
00025 #ifndef SOA_TAG_H
00026 #define SOA_TAG_H
00027 
00034 #ifndef SU_TAG_H
00035 #include <sofia-sip/su_tag.h>
00036 #endif
00037 #ifndef SDP_TAG_H
00038 #include <sofia-sip/sdp_tag.h>
00039 #endif
00040 
00041 SOFIA_BEGIN_DECLS
00042 
00044 SOFIAPUBVAR tagi_t soa_tag_list[];
00045 
00047 #define SOATAG_ANY()         soatag_any, ((tag_value_t)0)
00048 SOFIAPUBVAR tag_typedef_t soatag_any;
00049 
00053 enum {
00054   SOA_ACTIVE_REJECTED = -8, 
00055   SOA_ACTIVE_DISABLED = -4, 
00056   SOA_ACTIVE_INACTIVE = 0,  
00057   SOA_ACTIVE_SENDONLY = 1,  
00058   SOA_ACTIVE_RECVONLY = 2,  
00059   SOA_ACTIVE_SENDRECV = SOA_ACTIVE_SENDONLY | SOA_ACTIVE_RECVONLY
00061 };
00062 
00063 #define SOA_ACTIVE_DISABLED SOA_ACTIVE_DISABLED
00064 #define SOA_ACTIVE_REJECTED SOA_ACTIVE_REJECTED
00065 #define SOA_ACTIVE_INACTIVE SOA_ACTIVE_INACTIVE
00066 #define SOA_ACTIVE_SENDONLY SOA_ACTIVE_SENDONLY
00067 #define SOA_ACTIVE_RECVONLY SOA_ACTIVE_RECVONLY
00068 #define SOA_ACTIVE_SENDRECV SOA_ACTIVE_SENDRECV
00069 
00070 /*
00071  * SOA engine and media parameters set by soa_set_params(), get by
00072  * soa_get_params() or soa_get_paramlist()
00073  */
00074 
00075 #define SOATAG_LOCAL_SDP(x)  soatag_local_sdp, sdptag_session_v(x)
00076 SOFIAPUBVAR tag_typedef_t soatag_local_sdp;
00077 #define SOATAG_LOCAL_SDP_REF(x) \
00078   soatag_local_sdp_ref, sdptag_session_vr(&(x))
00079 SOFIAPUBVAR tag_typedef_t soatag_local_sdp_ref;
00080 
00081 #define SOATAG_LOCAL_SDP_STR(x)  soatag_local_sdp_str, tag_str_v(x)
00082 SOFIAPUBVAR tag_typedef_t soatag_local_sdp_str;
00083 #define SOATAG_LOCAL_SDP_STR_REF(x) \
00084   soatag_local_sdp_str_ref, tag_str_vr(&(x))
00085 SOFIAPUBVAR tag_typedef_t soatag_local_sdp_str_ref;
00086 
00087 #define SOATAG_USER_SDP(x)  soatag_user_sdp, sdptag_session_v(x)
00088 SOFIAPUBVAR tag_typedef_t soatag_user_sdp;
00089 #define SOATAG_USER_SDP_REF(x) \
00090   soatag_user_sdp_ref, sdptag_session_vr(&(x))
00091 SOFIAPUBVAR tag_typedef_t soatag_user_sdp_ref;
00092 
00093 #define SOATAG_USER_SDP_STR(x)  soatag_user_sdp_str, tag_str_v(x)
00094 SOFIAPUBVAR tag_typedef_t soatag_user_sdp_str;
00095 #define SOATAG_USER_SDP_STR_REF(x) \
00096   soatag_user_sdp_str_ref, tag_str_vr(&(x))
00097 SOFIAPUBVAR tag_typedef_t soatag_user_sdp_str_ref;
00098 
00099 #define SOATAG_CAPS_SDP(x)  soatag_caps_sdp, sdptag_session_v(x)
00100 SOFIAPUBVAR tag_typedef_t soatag_caps_sdp;
00101 #define SOATAG_CAPS_SDP_REF(x) \
00102   soatag_caps_sdp_ref, sdptag_session_vr(&(x))
00103 SOFIAPUBVAR tag_typedef_t soatag_caps_sdp_ref;
00104 
00105 #define SOATAG_CAPS_SDP_STR(x)  soatag_caps_sdp_str, tag_str_v(x)
00106 SOFIAPUBVAR tag_typedef_t soatag_caps_sdp_str;
00107 #define SOATAG_CAPS_SDP_STR_REF(x) \
00108   soatag_caps_sdp_str_ref, tag_str_vr(&(x))
00109 SOFIAPUBVAR tag_typedef_t soatag_caps_sdp_str_ref;
00110 
00111 #define SOATAG_REMOTE_SDP(x)  soatag_remote_sdp, sdptag_session_v(x)
00112 SOFIAPUBVAR tag_typedef_t soatag_remote_sdp;
00113 #define SOATAG_REMOTE_SDP_REF(x) \
00114   soatag_remote_sdp_ref, sdptag_session_vr(&(x))
00115 SOFIAPUBVAR tag_typedef_t soatag_remote_sdp_ref;
00116 
00117 #define SOATAG_REMOTE_SDP_STR(x)  soatag_remote_sdp_str, tag_str_v(x)
00118 SOFIAPUBVAR tag_typedef_t soatag_remote_sdp_str;
00119 #define SOATAG_REMOTE_SDP_STR_REF(x) \
00120   soatag_remote_sdp_str_ref, tag_str_vr(&(x))
00121 SOFIAPUBVAR tag_typedef_t soatag_remote_sdp_str_ref;
00122 
00123 #define SOATAG_LOCAL_SDP(x)  soatag_local_sdp, sdptag_session_v(x)
00124 SOFIAPUBVAR tag_typedef_t soatag_local_sdp;
00125 #define SOATAG_LOCAL_SDP_REF(x) \
00126   soatag_local_sdp_ref, sdptag_session_vr(&(x))
00127 SOFIAPUBVAR tag_typedef_t soatag_local_sdp_ref;
00128 
00129 #define SOATAG_LOCAL_SDP_STR(x)  soatag_local_sdp_str, tag_str_v(x)
00130 SOFIAPUBVAR tag_typedef_t soatag_local_sdp_str;
00131 #define SOATAG_LOCAL_SDP_STR_REF(x) \
00132   soatag_local_sdp_str_ref, tag_str_vr(&(x))
00133 SOFIAPUBVAR tag_typedef_t soatag_session_sdp_str_ref;
00134 
00135 #define SOATAG_AF(x)             soatag_af, tag_int_v((x))
00136 SOFIAPUBVAR tag_typedef_t soatag_af;
00137 
00138 #define SOATAG_AF_REF(x)         soatag_af_ref, tag_int_vr(&(x))
00139 SOFIAPUBVAR tag_typedef_t soatag_af_ref;
00140 
00142 enum soa_af {
00143   SOA_AF_ANY,                   
00144   SOA_AF_IP4_ONLY,              
00145   SOA_AF_IP6_ONLY,              
00146   SOA_AF_IP4_IP6,               
00147   SOA_AF_IP6_IP4                
00148 };
00149 
00150 #define SOA_AF_ANY      SOA_AF_ANY
00151 #define SOA_AF_IP4_ONLY SOA_AF_IP4_ONLY
00152 #define SOA_AF_IP6_ONLY SOA_AF_IP6_ONLY
00153 #define SOA_AF_IP4_IP6  SOA_AF_IP4_IP6
00154 #define SOA_AF_IP6_IP4  SOA_AF_IP6_IP4
00155 
00156 #define SOATAG_ADDRESS(x)  soatag_address, tag_str_v(x)
00157 SOFIAPUBVAR tag_typedef_t soatag_address;
00158 #define SOATAG_ADDRESS_REF(x) soatag_address_ref, tag_str_vr(&(x))
00159 SOFIAPUBVAR tag_typedef_t soatag_address_ref;
00160 
00161 #define SOATAG_RTP_SELECT(x)  soatag_rtp_select, tag_int_v(x)
00162 SOFIAPUBVAR tag_typedef_t soatag_rtp_select;
00163 #define SOATAG_RTP_SELECT_REF(x)  soatag_rtp_select_ref, tag_int_vr(&(x))
00164 SOFIAPUBVAR tag_typedef_t soatag_rtp_select_ref;
00165 
00167 enum {
00168   SOA_RTP_SELECT_SINGLE,        
00169   SOA_RTP_SELECT_COMMON,        
00170   SOA_RTP_SELECT_ALL            
00171  };
00172 
00173 #define SOATAG_AUDIO_AUX(x)      soatag_audio_aux, tag_str_v(x)
00174 SOFIAPUBVAR tag_typedef_t soatag_audio_aux;
00175 #define SOATAG_AUDIO_AUX_REF(x)  soatag_audio_aux_ref, tag_str_vr(&(x))
00176 SOFIAPUBVAR tag_typedef_t soatag_audio_aux_ref;
00177 
00178 #define SOATAG_RTP_SORT(x)  soatag_rtp_sort, tag_int_v(x)
00179 SOFIAPUBVAR tag_typedef_t soatag_rtp_sort;
00180 #define SOATAG_RTP_SORT_REF(x) soatag_rtp_sort_ref, tag_int_vr(&(x))
00181 SOFIAPUBVAR tag_typedef_t soatag_rtp_sort_ref;
00182 
00184 enum {
00185   SOA_RTP_SORT_DEFAULT,         
00189   SOA_RTP_SORT_LOCAL,           
00190   SOA_RTP_SORT_REMOTE           
00191  };
00192 
00193 #define SOATAG_RTP_MISMATCH(x) soatag_rtp_mismatch, tag_bool_v(x)
00194 SOFIAPUBVAR tag_typedef_t soatag_rtp_mismatch;
00195 #define SOATAG_RTP_MISMATCH_REF(x) soatag_rtp_mismatch_ref, tag_bool_vr(&(x))
00196 SOFIAPUBVAR tag_typedef_t soatag_rtp_mismatch_ref;
00197 
00198 #define SOATAG_ACTIVE_AUDIO(x) soatag_active_audio, tag_int_v(x)
00199 SOFIAPUBVAR tag_typedef_t soatag_active_audio;
00200 
00201 #define SOATAG_ACTIVE_AUDIO_REF(x) soatag_active_audio_ref, tag_int_vr(&(x))
00202 SOFIAPUBVAR tag_typedef_t soatag_active_audio_ref;
00203 
00204 #define SOATAG_ACTIVE_VIDEO(x) soatag_active_video, tag_int_v(x)
00205 SOFIAPUBVAR tag_typedef_t soatag_active_video;
00206 
00207 #define SOATAG_ACTIVE_VIDEO_REF(x) soatag_active_video_ref, tag_int_vr(&(x))
00208 SOFIAPUBVAR tag_typedef_t soatag_active_video_ref;
00209 
00210 #define SOATAG_ACTIVE_IMAGE(x) soatag_active_image, tag_int_v(x)
00211 SOFIAPUBVAR tag_typedef_t soatag_active_image;
00212 
00213 #define SOATAG_ACTIVE_IMAGE_REF(x) soatag_active_image_ref, tag_int_vr(&(x))
00214 SOFIAPUBVAR tag_typedef_t soatag_active_image_ref;
00215 
00216 #define SOATAG_ACTIVE_CHAT(x) soatag_active_chat, tag_int_v(x)
00217 SOFIAPUBVAR tag_typedef_t soatag_active_chat;
00218 
00219 #define SOATAG_ACTIVE_CHAT_REF(x) soatag_active_chat_ref, tag_int_vr(&(x))
00220 SOFIAPUBVAR tag_typedef_t soatag_active_chat_ref;
00221 
00223 #define SOATAG_SRTP_ENABLE(x)  soatag_srtp_enable, tag_bool_v(x)
00224 SOFIAPUBVAR tag_typedef_t soatag_srtp_enable;
00225 
00226 #define SOATAG_SRTP_ENABLE_REF(x) soatag_srtp_enable_ref, tag_bool_vr(&(x))
00227 SOFIAPUBVAR tag_typedef_t soatag_srtp_enable_ref;
00228 
00229 #define SOATAG_SRTP_CONFIDENTIALITY(x)  soatag_srtp_confidentiality, tag_bool_v(x)
00230 SOFIAPUBVAR tag_typedef_t soatag_srtp_confidentiality;
00231 #define SOATAG_SRTP_CONFIDENTIALITY_REF(x) soatag_srtp_confidentiality_ref, tag_bool_vr(&(x))
00232 SOFIAPUBVAR tag_typedef_t soatag_srtp_confidentiality_ref;
00233 
00235 #define SOATAG_SRTP_INTEGRITY(x)  soatag_srtp_integrity, tag_bool_v(x)
00236 SOFIAPUBVAR tag_typedef_t soatag_srtp_integrity;
00237 
00238 #define SOATAG_SRTP_INTEGRITY_REF(x) \
00239   soatag_srtp_integrity_ref, tag_bool_vr(&(x))
00240 SOFIAPUBVAR tag_typedef_t soatag_srtp_integrity_ref;
00241 
00242 #define SOATAG_HOLD(x)           soatag_hold, tag_str_v(x)
00243 SOFIAPUBVAR tag_typedef_t soatag_hold;
00244 #define SOATAG_HOLD_REF(x)       soatag_hold_ref, tag_str_vr(&(x))
00245 SOFIAPUBVAR tag_typedef_t soatag_hold_ref;
00246 
00247 #define SOATAG_ORDERED_USER(x) soatag_ordered_user, tag_bool_v(x)
00248 SOFIAPUBVAR tag_typedef_t soatag_ordered_user;
00249 
00250 #define SOATAG_ORDERED_USER_REF(x) \
00251   soatag_ordered_user_ref, tag_bool_vr(&(x))
00252 SOFIAPUBVAR tag_typedef_t soatag_ordered_user_ref;
00253 
00254 #define SOATAG_REUSE_REJECTED(x) soatag_reuse_rejected, tag_bool_v(x)
00255 SOFIAPUBVAR tag_typedef_t soatag_reuse_rejected;
00256 
00257 #define SOATAG_REUSE_REJECTED_REF(x) \
00258   soatag_reuse_rejected_ref, tag_bool_vr(&(x))
00259 SOFIAPUBVAR tag_typedef_t soatag_reuse_rejected_ref;
00260 
00261 SOFIA_END_DECLS
00262 
00263 #endif /* SOA_TAG_H */
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Sofia-SIP 1.12.10 - Copyright (C) 2006 Nokia Corporation. All rights reserved. Licensed under the terms of the GNU Lesser General Public License.