sofia-sip/nea_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 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

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