sdp 1.12.11devel
Loading...
Searching...
No Matches
sdp_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 SDP_TAG_H
27#define SDP_TAG_H
28
38#ifndef SU_TAG_H
39#include <sofia-sip/su_tag.h>
40#endif
41#ifndef SU_TAG_CLASS_H
43#endif
44
45SOFIA_BEGIN_DECLS
46
47struct sdp_session_s;
48
50#define SDPTAG_ANY() sdptag_any, ((tag_value_t)0)
51SDP_DLL extern tag_typedef_t sdptag_any;
52
53/* Tags for parameters */
54
55SDP_DLL extern tag_typedef_t sdptag_session;
57#define SDPTAG_SESSION(x) \
58sdptag_session, sdptag_session_v((x))
59
60SDP_DLL extern tag_typedef_t sdptag_session_ref;
61#define SDPTAG_SESSION_REF(x) \
62sdptag_session_ref, sdptag_session_vr(&(x))
63
64/* Functions for typesafe parameter passing */
65
66#if SU_HAVE_INLINE
68tag_value_t sdptag_session_v(struct sdp_session_s const *v) {
69 return (tag_value_t)v;
70}
72tag_value_t sdptag_session_vr(struct sdp_session_s const **vp) {
73 return (tag_value_t)vp;
74}
75#else
76#define sdptag_session_v(v) (tag_value_t)(v)
77#define sdptag_session_vr(vp) (tag_value_t)(vp)
78#endif
79
80/* Tag classes */
81
83
84#define SDPTAG_TYPEDEF(name) \
85 {{ TAG_NAMESPACE, #name, sdptag_session_class }}
86
87SOFIA_END_DECLS
88
89#endif /* !defined(SDP_TAG_H) */
tag_class_t sdptag_session_class[]
Tag class for SDP tags.
Definition sdp.c:1142
Session description.
Definition sdp.h:82
#define su_inline
struct tag_type_s const tag_typedef_t[1]
intptr_t tag_value_t
struct tag_class_s const tag_class_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.