nth 1.12.11devel
Loading...
Searching...
No Matches
nth_tag.h
Go to the documentation of this file.
1/*
2 * This file is part of the Sofia-SIP package
3 *
4 * Copyright (C) 2005 Nokia Corporation.
5 *
6 * Contact: Pekka Pessi <pekka.pessi@nokia-email.address.hidden>
7 *
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public License
10 * as published by the Free Software Foundation; either version 2.1 of
11 * the License, or (at your option) any later version.
12 *
13 * This library is distributed in the hope that it will be useful, but
14 * WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
21 * 02110-1301 USA
22 *
23 */
24
25#ifndef NTH_TAG_H
27#define NTH_TAG_H
28
37#ifndef SU_TAG_H
38#include <sofia-sip/su_tag.h>
39#endif
40
41#ifndef URL_TAG_H
42#include <sofia-sip/url_tag.h>
43#endif
44
45#ifndef HTTP_TAG_H
46#include <sofia-sip/http_tag.h>
47#endif
48
49SOFIA_BEGIN_DECLS
50
52NTH_DLL extern tagi_t nth_client_tags[];
53
55#define NTHTAG_ANY() nthtag_any, ((tag_value_t)0)
56NTH_DLL extern tag_typedef_t nthtag_any;
57
58/* Common tags */
59
60NTH_DLL extern tag_typedef_t nthtag_mclass;
62#define NTHTAG_MCLASS(x) nthtag_mclass, tag_cptr_v((x))
63
64NTH_DLL extern tag_typedef_t nthtag_mclass_ref;
65#define NTHTAG_MCLASS_REF(x) nthtag_mclass_ref, tag_cptr_vr(&(x), (x))
66
67NTH_DLL extern tag_typedef_t nthtag_mflags;
69#define NTHTAG_MFLAGS(x) nthtag_mflags, tag_int_v((x))
70
71NTH_DLL extern tag_typedef_t nthtag_mflags_ref;
72#define NTHTAG_MFLAGS_REF(x) nthtag_mflags_ref, tag_int_vr(&(x))
73
74NTH_DLL extern tag_typedef_t nthtag_streaming;
76#define NTHTAG_STREAMING(x) nthtag_streaming, tag_bool_v((x))
77
78NTH_DLL extern tag_typedef_t nthtag_streaming_ref;
79#define NTHTAG_STREAMING_REF(x) nthtag_streaming_ref, tag_bool_vr(&(x))
80
81/* Client-only tags */
82
83NTH_DLL extern tag_typedef_t nthtag_proxy;
85#define NTHTAG_PROXY(x) nthtag_proxy, urltag_url_v((x))
86
87NTH_DLL extern tag_typedef_t nthtag_proxy_ref;
88#define NTHTAG_PROXY_REF(x) nthtag_proxy_ref, urltag_url_vr(&(x))
89
90NTH_DLL extern tag_typedef_t nthtag_expires;
92#define NTHTAG_EXPIRES(x) nthtag_expires, tag_uint_v((x))
93
94NTH_DLL extern tag_typedef_t nthtag_expires_ref;
95#define NTHTAG_EXPIRES_REF(x) nthtag_expires_ref, tag_uint_vr(&(x))
96
97NTH_DLL extern tag_typedef_t nthtag_error_msg;
99#define NTHTAG_ERROR_MSG(x) nthtag_error_msg, tag_bool_v((x))
100
101NTH_DLL extern tag_typedef_t nthtag_error_msg_ref;
102#define NTHTAG_ERROR_MSG_REF(x) nthtag_error_msg_ref, tag_bool_vr(&(x))
103
104#if SU_INLINE_TAG_CAST
105struct nth_client_s;
106su_inline tag_value_t nthtag_template_v(struct nth_client_s const *v)
107{ return (tag_value_t)v; }
108su_inline tag_value_t nthtag_template_vr(struct nth_client_s const **vp)
109{return(tag_value_t)vp;}
110#else
111#define nthtag_template_v(v) ((tag_value_t)(v))
112#define nthtag_template_vr(vp) ((tag_value_t)(vp))
113#endif
114
115NTH_DLL extern tag_typedef_t nthtag_template;
117#define NTHTAG_TEMPLATE(x) nthtag_template, nthtag_template_v((x))
118
119NTH_DLL extern tag_typedef_t nthtag_template_ref;
120#define NTHTAG_TEMPLATE_REF(x) nthtag_template_ref, nthtag_template_vr(&(x))
121
122#if SU_INLINE_TAG_CAST
123su_inline tag_value_t nthtag_message_v(struct msg_s *v)
124{ return (tag_value_t)v; }
125su_inline tag_value_t nthtag_message_vr(struct msg_s **vp)
126{ return(tag_value_t)vp; }
127#else
128#define nthtag_message_v(v) ((tag_value_t)(v))
129#define nthtag_message_vr(vp) ((tag_value_t)(vp))
130#endif
131
132NTH_DLL extern tag_typedef_t nthtag_message;
134#define NTHTAG_MESSAGE(x) nthtag_message, nthtag_message_v((x))
135
136NTH_DLL extern tag_typedef_t nthtag_message_ref;
137#define NTHTAG_MESSAGE_REF(x) nthtag_message_ref, nthtag_message_vr(&(x))
138
139#if SU_HAVE_INLINE
140struct auth_client_s;
141su_inline tag_value_t nthtag_authentication_v(struct auth_client_s **v) { return (tag_value_t)v; }
142su_inline tag_value_t nthtag_authentication_vr(struct auth_client_s ***vp) {return(tag_value_t)vp;}
143#else
144#define nthtag_authentication_v(v) ((tag_value_t)(v))
145#define nthtag_authentication_vr(vp) ((tag_value_t)(vp))
146#endif
147
148NTH_DLL extern tag_typedef_t nthtag_authentication;
150#define NTHTAG_AUTHENTICATION(x) \
151nthtag_authentication, nthtag_authentication_v((x))
152
153NTH_DLL extern tag_typedef_t nthtag_authentication_ref;
154#define NTHTAG_AUTHENTICATION_REF(x) \
155nthtag_authentication_ref, nthtag_authentication_vr(&(x))
156
157NTH_DLL extern tag_typedef_t nthtag_max_retry_after;
159#define NTHTAG_MAX_RETRY_AFTER(x) nthtag_max_retry_after, tag_int_v((x))
160
161NTH_DLL extern tag_typedef_t nthtag_max_retry_after_ref;
162#define NTHTAG_MAX_RETRY_AFTER_REF(x) \
163nthtag_max_retry_after_ref, tag_int_vr(&(x))
164
165/* Server-side tags */
166
167NTH_DLL extern tag_typedef_t nthtag_root;
169#define NTHTAG_ROOT(x) nthtag_root, tag_ptr_v((x))
170
171NTH_DLL extern tag_typedef_t nthtag_root_ref;
172#define NTHTAG_ROOT_REF(x) nthtag_root_ref, tag_ptr_vr(&(x), (x))
173
174NTH_DLL extern tag_typedef_t nthtag_strict_host;
176#define NTHTAG_STRICT_HOST(x) nthtag_strict_host, tag_bool_v((x))
177
178NTH_DLL extern tag_typedef_t nthtag_strict_host_ref;
179#define NTHTAG_STRICT_HOST_REF(x) nthtag_strict_host_ref, tag_bool_vr(&(x))
180
181NTH_DLL extern tag_typedef_t nthtag_auth_module;
183#define NTHTAG_AUTH_MODULE(x) nthtag_auth_module, tag_ptr_v((x))
184
185NTH_DLL extern tag_typedef_t nthtag_auth_module_ref;
186#define NTHTAG_AUTH_MODULE_REF(x) nthtag_auth_module_ref, tag_ptr_vr(&(x), (x))
187
188SOFIA_END_DECLS
189
190#endif /* !defined NTH_TAG_H */
tagi_t nth_client_tags[]
List of all nth tags.
Definition nth_client.c:213
#define su_inline
struct tag_type_s const tag_typedef_t[1]
intptr_t tag_value_t

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