nea 1.12.10
|
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 NEA_TAG_H 00026 00027 #define NEA_TAG_H 00028 00038 #ifndef SU_TAG_H 00039 #include <sofia-sip/su_tag.h> 00040 #endif 00041 #ifndef URL_TAG_H 00042 #include <sofia-sip/url_tag.h> 00043 #endif 00044 #ifndef SIP_TAG_H 00045 #include <sofia-sip/sip_tag.h> 00046 #endif 00047 #ifndef NTA_TAG_H 00048 #include <sofia-sip/nta_tag.h> 00049 #endif 00050 00051 SOFIA_BEGIN_DECLS 00052 00054 typedef enum { 00055 nea_extended = -1, 00056 nea_embryonic = 0, 00057 nea_pending, 00058 nea_active, 00059 nea_terminated 00060 } nea_state_t; 00061 00063 #define NEATAG_ANY() neatag_any, ((tag_value_t)0) 00064 SOFIAPUBVAR tag_typedef_t neatag_any; 00065 00067 #define NEATAG_MIN_EXPIRES(x) neatag_min_expires, tag_uint_v((x)) 00068 SOFIAPUBVAR tag_typedef_t neatag_min_expires; 00069 00070 #define NEATAG_MIN_EXPIRES_REF(x) neatag_min_expires_ref, tag_uint_vr((&x)) 00071 SOFIAPUBVAR tag_typedef_t neatag_min_expires_ref; 00072 00073 #define NEATAG_MINSUB(x) neatag_min_expires, tag_uint_v((x)) 00074 #define NEATAG_MINSUB_REF(x) neatag_min_expires_ref, tag_uint_vr((&x)) 00075 00077 #define NEATAG_EXPIRES(x) neatag_expires, tag_uint_v((x)) 00078 SOFIAPUBVAR tag_typedef_t neatag_expires; 00079 00080 #define NEATAG_EXPIRES_REF(x) neatag_expires_ref, tag_uint_vr((&x)) 00081 SOFIAPUBVAR tag_typedef_t neatag_expires_ref; 00082 00084 #define NEATAG_MAX_EXPIRES(x) neatag_max_expires, tag_uint_v((x)) 00085 SOFIAPUBVAR tag_typedef_t neatag_max_expires; 00086 00087 #define NEATAG_MAX_EXPIRES_REF(x) neatag_max_expires_ref, tag_uint_vr((&x)) 00088 SOFIAPUBVAR tag_typedef_t neatag_max_expires_ref; 00089 00091 #define NEATAG_EVENTLIST(x) neatag_eventlist, tag_bool_v((x)) 00092 SOFIAPUBVAR tag_typedef_t neatag_eventlist; 00093 00094 #define NEATAG_EVENTLIST_REF(x) neatag_eventlist_ref, tag_bool_vr((&x)) 00095 SOFIAPUBVAR tag_typedef_t neatag_eventlist_ref; 00096 00098 #define NEATAG_THROTTLE(x) neatag_throttle, tag_uint_v((x)) 00099 SOFIAPUBVAR tag_typedef_t neatag_throttle; 00100 00101 #define NEATAG_THROTTLE_REF(x) neatag_throttle_ref, tag_uint_vr((&x)) 00102 SOFIAPUBVAR tag_typedef_t neatag_throttle_ref; 00103 00105 #define NEATAG_MINTHROTTLE(x) neatag_minthrottle, tag_uint_v((x)) 00106 SOFIAPUBVAR tag_typedef_t neatag_minthrottle; 00107 00108 #define NEATAG_MINTHROTTLE_REF(x) neatag_minthrottle_ref, tag_uint_vr((&x)) 00109 SOFIAPUBVAR tag_typedef_t neatag_minthrottle_ref; 00110 00112 #define NEATAG_DIALOG(x) neatag_dialog, tag_ptr_v((x)) 00113 SOFIAPUBVAR tag_typedef_t neatag_dialog; 00114 00115 #define NEATAG_DIALOG_REF(x) neatag_dialog_ref, tag_ptr_vr((&x), (x)) 00116 SOFIAPUBVAR tag_typedef_t neatag_dialog_ref; 00117 00118 /* Server-specific tags */ 00119 00121 #define NEATAG_SUB(x) neatag_sub, tag_ptr_v((x)) 00122 SOFIAPUBVAR tag_typedef_t neatag_sub; 00123 00124 #define NEATAG_SUB_REF(x) neatag_sub_ref, tag_ptr_vr((&x), (x)) 00125 SOFIAPUBVAR tag_typedef_t neatag_sub_ref; 00126 00128 #define NEATAG_FAKE(x) neatag_fake, tag_bool_v((x)) 00129 SOFIAPUBVAR tag_typedef_t neatag_fake; 00130 00131 #define NEATAG_FAKE_REF(x) neatag_fake_ref, tag_bool_vr((&x)) 00132 SOFIAPUBVAR tag_typedef_t neatag_fake_ref; 00133 00135 #define NEATAG_REASON(x) neatag_reason, tag_str_v((x)) 00136 SOFIAPUBVAR tag_typedef_t neatag_reason; 00137 00138 #define NEATAG_REASON_REF(x) neatag_reason_ref, tag_str_vr((&x)) 00139 SOFIAPUBVAR tag_typedef_t neatag_reason_ref; 00140 00142 #define NEATAG_RETRY_AFTER(x) neatag_retry_after, tag_uint_v((x)) 00143 SOFIAPUBVAR tag_typedef_t neatag_retry_after; 00144 00145 #define NEATAG_RETRY_AFTER_REF(x) neatag_retry_after_ref, tag_uint_vr((&x)) 00146 SOFIAPUBVAR tag_typedef_t neatag_retry_after_ref; 00147 00149 #define NEATAG_EXSTATE(x) neatag_exstate, tag_str_v((x)) 00150 SOFIAPUBVAR tag_typedef_t neatag_exstate; 00151 00152 #define NEATAG_EXSTATE_REF(x) neatag_exstate_ref, tag_str_vr((&x)) 00153 SOFIAPUBVAR tag_typedef_t neatag_exstate_ref; 00154 00156 #define NEATAG_STRICT_3265(x) neatag_strict_3265, tag_bool_v((x)) 00157 SOFIAPUBVAR tag_typedef_t neatag_strict_3265; 00158 00159 #define NEATAG_STRICT_3265_REF(x) neatag_strict_3265_ref, tag_bool_vr((&x)) 00160 SOFIAPUBVAR tag_typedef_t neatag_strict_3265_ref; 00161 00163 #define NEATAG_VERSION(x) neatag_version, tag_uint_v((x)) 00164 SOFIAPUBVAR tag_typedef_t neatag_version; 00165 00166 #define NEATAG_VERSION_REF(x) neatag_version_ref, tag_uint_vr((&x)) 00167 SOFIAPUBVAR tag_typedef_t neatag_version_ref; 00168 00170 /* extern tag_type_t nea_tag_list[]; */ 00171 00172 SOFIA_END_DECLS 00173 00174 #endif