Loading...
Searching...
No Matches
sip_protos.h
Go to the documentation of this file.
/* -*- C -*-
*
* This file is part of the Sofia-SIP package
*
* Copyright (C) 2005 Nokia Corporation.
*
* Contact: Pekka Pessi <pekka.pessi@nokia-email.address.hidden>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA
*
*/
#ifndef SIP_PROTOS_H
#define SIP_PROTOS_H
#include <sofia-sip/su_config.h>
#ifndef SIP_HEADER_H
#include <sofia-sip/sip_header.h>
#endif
#ifndef SIP_HCLASSES_H
#include <sofia-sip/sip_hclasses.h>
#endif
SOFIA_BEGIN_DECLS
#if SU_HAVE_INLINE
su_inline
sip_t *sip_object(msg_t const *msg)
{
return (sip_t *)msg_public(msg, SIP_PROTOCOL_TAG);
}
su_inline
int sip_header_insert(msg_t *msg, sip_t *sip, sip_header_t *h)
{
return msg_header_insert(msg, (msg_pub_t *)sip, (msg_header_t *)h);
}
su_inline
int sip_header_remove(msg_t *msg, sip_t *sip, sip_header_t *h)
{
return msg_header_remove(msg, (msg_pub_t *)sip, (msg_header_t *)h);
}
su_inline
char const *sip_header_name(sip_header_t const *h, int compact)
{
if (compact && h->sh_class->hc_short[0])
return h->sh_class->hc_short;
else
return h->sh_class->hc_name;
}
su_inline
void *sip_header_data(sip_header_t *h)
{
return h && h != SIP_NONE ? h->sh_class->hc_size + (char *)h : NULL;
}
#else
sip_t *sip_object(msg_t *msg);
int sip_header_insert(msg_t *msg, sip_t *sip, sip_header_t *h);
int sip_header_remove(msg_t *msg, sip_t *sip, sip_header_t *h);
char const *sip_header_name(sip_header_t const *h, int compact);
void *sip_header_data(sip_header_t *h);
#endif
SOFIAPUBFUN issize_t sip_request_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_request_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_request(sip) \
((sip_request_t *)msg_header_access((msg_pub_t*)(sip), sip_request_class))
#define SIP_REQUEST_INIT() SIP_HDR_INIT(request)
#if SU_HAVE_INLINE
su_inline sip_request_t *sip_request_init(sip_request_t x[1])
{
return SIP_HEADER_INIT(x, sip_request_class, sizeof(sip_request_t));
}
#else
#define sip_request_init(x) \
SIP_HEADER_INIT(x, sip_request_class, sizeof(sip_request_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_request(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_request_hash;
}
#else
int sip_is_request(sip_header_t const *header);
#endif
#define sip_request_p(h) sip_is_request((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_request_t *sip_request_dup(su_home_t *home, sip_request_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_request_t *sip_request_dup(su_home_t *home, sip_request_t const *hdr)
{
return (sip_request_t *)
msg_header_dup_as(home, sip_request_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_request_t *sip_request_copy(su_home_t *home, sip_request_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_request_t *sip_request_copy(su_home_t *home, sip_request_t const *hdr)
{
return (sip_request_t *)
msg_header_copy_as(home, sip_request_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_request_t *sip_request_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_request_t *sip_request_make(su_home_t *home, char const *s)
{
return (sip_request_t *)sip_header_make(home, sip_request_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_request_t *sip_request_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_request_t *sip_request_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_request_class, fmt, ap);
va_end(ap);
return (sip_request_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_status_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_status_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_status(sip) \
((sip_status_t *)msg_header_access((msg_pub_t*)(sip), sip_status_class))
#define SIP_STATUS_INIT() SIP_HDR_INIT(status)
#if SU_HAVE_INLINE
su_inline sip_status_t *sip_status_init(sip_status_t x[1])
{
return SIP_HEADER_INIT(x, sip_status_class, sizeof(sip_status_t));
}
#else
#define sip_status_init(x) \
SIP_HEADER_INIT(x, sip_status_class, sizeof(sip_status_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_status(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_status_hash;
}
#else
int sip_is_status(sip_header_t const *header);
#endif
#define sip_status_p(h) sip_is_status((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_status_t *sip_status_dup(su_home_t *home, sip_status_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_status_t *sip_status_dup(su_home_t *home, sip_status_t const *hdr)
{
return (sip_status_t *)
msg_header_dup_as(home, sip_status_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_status_t *sip_status_copy(su_home_t *home, sip_status_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_status_t *sip_status_copy(su_home_t *home, sip_status_t const *hdr)
{
return (sip_status_t *)
msg_header_copy_as(home, sip_status_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_status_t *sip_status_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_status_t *sip_status_make(su_home_t *home, char const *s)
{
return (sip_status_t *)sip_header_make(home, sip_status_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_status_t *sip_status_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_status_t *sip_status_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_status_class, fmt, ap);
va_end(ap);
return (sip_status_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_via_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_via_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_via(sip) \
((sip_via_t *)msg_header_access((msg_pub_t*)(sip), sip_via_class))
#define SIP_VIA_INIT() SIP_HDR_INIT(via)
#if SU_HAVE_INLINE
su_inline sip_via_t *sip_via_init(sip_via_t x[1])
{
return SIP_HEADER_INIT(x, sip_via_class, sizeof(sip_via_t));
}
#else
#define sip_via_init(x) \
SIP_HEADER_INIT(x, sip_via_class, sizeof(sip_via_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_via(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_via_hash;
}
#else
int sip_is_via(sip_header_t const *header);
#endif
#define sip_via_p(h) sip_is_via((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_via_t *sip_via_dup(su_home_t *home, sip_via_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_via_t *sip_via_dup(su_home_t *home, sip_via_t const *hdr)
{
return (sip_via_t *)
msg_header_dup_as(home, sip_via_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_via_t *sip_via_copy(su_home_t *home, sip_via_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_via_t *sip_via_copy(su_home_t *home, sip_via_t const *hdr)
{
return (sip_via_t *)
msg_header_copy_as(home, sip_via_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_via_t *sip_via_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_via_t *sip_via_make(su_home_t *home, char const *s)
{
return (sip_via_t *)sip_header_make(home, sip_via_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_via_t *sip_via_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_via_t *sip_via_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_via_class, fmt, ap);
va_end(ap);
return (sip_via_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_route_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_route_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_route(sip) \
((sip_route_t *)msg_header_access((msg_pub_t*)(sip), sip_route_class))
#define SIP_ROUTE_INIT() SIP_HDR_INIT(route)
#if SU_HAVE_INLINE
su_inline sip_route_t *sip_route_init(sip_route_t x[1])
{
return SIP_HEADER_INIT(x, sip_route_class, sizeof(sip_route_t));
}
#else
#define sip_route_init(x) \
SIP_HEADER_INIT(x, sip_route_class, sizeof(sip_route_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_route(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_route_hash;
}
#else
int sip_is_route(sip_header_t const *header);
#endif
#define sip_route_p(h) sip_is_route((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_route_t *sip_route_dup(su_home_t *home, sip_route_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_route_t *sip_route_dup(su_home_t *home, sip_route_t const *hdr)
{
return (sip_route_t *)
msg_header_dup_as(home, sip_route_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_route_t *sip_route_copy(su_home_t *home, sip_route_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_route_t *sip_route_copy(su_home_t *home, sip_route_t const *hdr)
{
return (sip_route_t *)
msg_header_copy_as(home, sip_route_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_route_t *sip_route_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_route_t *sip_route_make(su_home_t *home, char const *s)
{
return (sip_route_t *)sip_header_make(home, sip_route_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_route_t *sip_route_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_route_t *sip_route_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_route_class, fmt, ap);
va_end(ap);
return (sip_route_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_record_route_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_record_route_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_record_route(sip) \
((sip_record_route_t *)msg_header_access((msg_pub_t*)(sip), sip_record_route_class))
#define SIP_RECORD_ROUTE_INIT() SIP_HDR_INIT(record_route)
#if SU_HAVE_INLINE
su_inline sip_record_route_t *sip_record_route_init(sip_record_route_t x[1])
{
return SIP_HEADER_INIT(x, sip_record_route_class, sizeof(sip_record_route_t));
}
#else
#define sip_record_route_init(x) \
SIP_HEADER_INIT(x, sip_record_route_class, sizeof(sip_record_route_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_record_route(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_record_route_hash;
}
#else
int sip_is_record_route(sip_header_t const *header);
#endif
#define sip_record_route_p(h) sip_is_record_route((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_record_route_t *sip_record_route_dup(su_home_t *home, sip_record_route_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_record_route_t *sip_record_route_dup(su_home_t *home, sip_record_route_t const *hdr)
{
return (sip_record_route_t *)
msg_header_dup_as(home, sip_record_route_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_record_route_t *sip_record_route_copy(su_home_t *home, sip_record_route_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_record_route_t *sip_record_route_copy(su_home_t *home, sip_record_route_t const *hdr)
{
return (sip_record_route_t *)
msg_header_copy_as(home, sip_record_route_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_record_route_t *sip_record_route_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_record_route_t *sip_record_route_make(su_home_t *home, char const *s)
{
return (sip_record_route_t *)sip_header_make(home, sip_record_route_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_record_route_t *sip_record_route_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_record_route_t *sip_record_route_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_record_route_class, fmt, ap);
va_end(ap);
return (sip_record_route_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_max_forwards_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_max_forwards_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_max_forwards(sip) \
((sip_max_forwards_t *)msg_header_access((msg_pub_t*)(sip), sip_max_forwards_class))
#define SIP_MAX_FORWARDS_INIT() SIP_HDR_INIT(max_forwards)
#if SU_HAVE_INLINE
su_inline sip_max_forwards_t *sip_max_forwards_init(sip_max_forwards_t x[1])
{
return SIP_HEADER_INIT(x, sip_max_forwards_class, sizeof(sip_max_forwards_t));
}
#else
#define sip_max_forwards_init(x) \
SIP_HEADER_INIT(x, sip_max_forwards_class, sizeof(sip_max_forwards_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_max_forwards(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_max_forwards_hash;
}
#else
int sip_is_max_forwards(sip_header_t const *header);
#endif
#define sip_max_forwards_p(h) sip_is_max_forwards((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_max_forwards_t *sip_max_forwards_dup(su_home_t *home, sip_max_forwards_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_max_forwards_t *sip_max_forwards_dup(su_home_t *home, sip_max_forwards_t const *hdr)
{
return (sip_max_forwards_t *)
msg_header_dup_as(home, sip_max_forwards_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_max_forwards_t *sip_max_forwards_copy(su_home_t *home, sip_max_forwards_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_max_forwards_t *sip_max_forwards_copy(su_home_t *home, sip_max_forwards_t const *hdr)
{
return (sip_max_forwards_t *)
msg_header_copy_as(home, sip_max_forwards_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_max_forwards_t *sip_max_forwards_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_max_forwards_t *sip_max_forwards_make(su_home_t *home, char const *s)
{
return (sip_max_forwards_t *)sip_header_make(home, sip_max_forwards_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_max_forwards_t *sip_max_forwards_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_max_forwards_t *sip_max_forwards_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_max_forwards_class, fmt, ap);
va_end(ap);
return (sip_max_forwards_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_proxy_require_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_proxy_require_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_proxy_require(sip) \
((sip_proxy_require_t *)msg_header_access((msg_pub_t*)(sip), sip_proxy_require_class))
#define SIP_PROXY_REQUIRE_INIT() SIP_HDR_INIT(proxy_require)
#if SU_HAVE_INLINE
su_inline sip_proxy_require_t *sip_proxy_require_init(sip_proxy_require_t x[1])
{
return SIP_HEADER_INIT(x, sip_proxy_require_class, sizeof(sip_proxy_require_t));
}
#else
#define sip_proxy_require_init(x) \
SIP_HEADER_INIT(x, sip_proxy_require_class, sizeof(sip_proxy_require_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_proxy_require(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_proxy_require_hash;
}
#else
int sip_is_proxy_require(sip_header_t const *header);
#endif
#define sip_proxy_require_p(h) sip_is_proxy_require((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_proxy_require_t *sip_proxy_require_dup(su_home_t *home, sip_proxy_require_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_proxy_require_t *sip_proxy_require_dup(su_home_t *home, sip_proxy_require_t const *hdr)
{
return (sip_proxy_require_t *)
msg_header_dup_as(home, sip_proxy_require_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_proxy_require_t *sip_proxy_require_copy(su_home_t *home, sip_proxy_require_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_proxy_require_t *sip_proxy_require_copy(su_home_t *home, sip_proxy_require_t const *hdr)
{
return (sip_proxy_require_t *)
msg_header_copy_as(home, sip_proxy_require_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_proxy_require_t *sip_proxy_require_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_proxy_require_t *sip_proxy_require_make(su_home_t *home, char const *s)
{
return (sip_proxy_require_t *)sip_header_make(home, sip_proxy_require_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_proxy_require_t *sip_proxy_require_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_proxy_require_t *sip_proxy_require_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_proxy_require_class, fmt, ap);
va_end(ap);
return (sip_proxy_require_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_from_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_from_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_from(sip) \
((sip_from_t *)msg_header_access((msg_pub_t*)(sip), sip_from_class))
#define SIP_FROM_INIT() SIP_HDR_INIT(from)
#if SU_HAVE_INLINE
su_inline sip_from_t *sip_from_init(sip_from_t x[1])
{
return SIP_HEADER_INIT(x, sip_from_class, sizeof(sip_from_t));
}
#else
#define sip_from_init(x) \
SIP_HEADER_INIT(x, sip_from_class, sizeof(sip_from_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_from(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_from_hash;
}
#else
int sip_is_from(sip_header_t const *header);
#endif
#define sip_from_p(h) sip_is_from((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_from_t *sip_from_dup(su_home_t *home, sip_from_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_from_t *sip_from_dup(su_home_t *home, sip_from_t const *hdr)
{
return (sip_from_t *)
msg_header_dup_as(home, sip_from_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_from_t *sip_from_copy(su_home_t *home, sip_from_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_from_t *sip_from_copy(su_home_t *home, sip_from_t const *hdr)
{
return (sip_from_t *)
msg_header_copy_as(home, sip_from_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_from_t *sip_from_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_from_t *sip_from_make(su_home_t *home, char const *s)
{
return (sip_from_t *)sip_header_make(home, sip_from_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_from_t *sip_from_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_from_t *sip_from_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_from_class, fmt, ap);
va_end(ap);
return (sip_from_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_to_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_to_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_to(sip) \
((sip_to_t *)msg_header_access((msg_pub_t*)(sip), sip_to_class))
#define SIP_TO_INIT() SIP_HDR_INIT(to)
#if SU_HAVE_INLINE
su_inline sip_to_t *sip_to_init(sip_to_t x[1])
{
return SIP_HEADER_INIT(x, sip_to_class, sizeof(sip_to_t));
}
#else
#define sip_to_init(x) \
SIP_HEADER_INIT(x, sip_to_class, sizeof(sip_to_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_to(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_to_hash;
}
#else
int sip_is_to(sip_header_t const *header);
#endif
#define sip_to_p(h) sip_is_to((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_to_t *sip_to_dup(su_home_t *home, sip_to_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_to_t *sip_to_dup(su_home_t *home, sip_to_t const *hdr)
{
return (sip_to_t *)
msg_header_dup_as(home, sip_to_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_to_t *sip_to_copy(su_home_t *home, sip_to_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_to_t *sip_to_copy(su_home_t *home, sip_to_t const *hdr)
{
return (sip_to_t *)
msg_header_copy_as(home, sip_to_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_to_t *sip_to_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_to_t *sip_to_make(su_home_t *home, char const *s)
{
return (sip_to_t *)sip_header_make(home, sip_to_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_to_t *sip_to_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_to_t *sip_to_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_to_class, fmt, ap);
va_end(ap);
return (sip_to_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_call_id_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_call_id_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_call_id(sip) \
((sip_call_id_t *)msg_header_access((msg_pub_t*)(sip), sip_call_id_class))
#define SIP_CALL_ID_INIT() SIP_HDR_INIT(call_id)
#if SU_HAVE_INLINE
su_inline sip_call_id_t *sip_call_id_init(sip_call_id_t x[1])
{
return SIP_HEADER_INIT(x, sip_call_id_class, sizeof(sip_call_id_t));
}
#else
#define sip_call_id_init(x) \
SIP_HEADER_INIT(x, sip_call_id_class, sizeof(sip_call_id_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_call_id(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_call_id_hash;
}
#else
int sip_is_call_id(sip_header_t const *header);
#endif
#define sip_call_id_p(h) sip_is_call_id((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_call_id_t *sip_call_id_dup(su_home_t *home, sip_call_id_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_call_id_t *sip_call_id_dup(su_home_t *home, sip_call_id_t const *hdr)
{
return (sip_call_id_t *)
msg_header_dup_as(home, sip_call_id_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_call_id_t *sip_call_id_copy(su_home_t *home, sip_call_id_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_call_id_t *sip_call_id_copy(su_home_t *home, sip_call_id_t const *hdr)
{
return (sip_call_id_t *)
msg_header_copy_as(home, sip_call_id_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_call_id_t *sip_call_id_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_call_id_t *sip_call_id_make(su_home_t *home, char const *s)
{
return (sip_call_id_t *)sip_header_make(home, sip_call_id_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_call_id_t *sip_call_id_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_call_id_t *sip_call_id_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_call_id_class, fmt, ap);
va_end(ap);
return (sip_call_id_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_cseq_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_cseq_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_cseq(sip) \
((sip_cseq_t *)msg_header_access((msg_pub_t*)(sip), sip_cseq_class))
#define SIP_CSEQ_INIT() SIP_HDR_INIT(cseq)
#if SU_HAVE_INLINE
su_inline sip_cseq_t *sip_cseq_init(sip_cseq_t x[1])
{
return SIP_HEADER_INIT(x, sip_cseq_class, sizeof(sip_cseq_t));
}
#else
#define sip_cseq_init(x) \
SIP_HEADER_INIT(x, sip_cseq_class, sizeof(sip_cseq_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_cseq(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_cseq_hash;
}
#else
int sip_is_cseq(sip_header_t const *header);
#endif
#define sip_cseq_p(h) sip_is_cseq((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_cseq_t *sip_cseq_dup(su_home_t *home, sip_cseq_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_cseq_t *sip_cseq_dup(su_home_t *home, sip_cseq_t const *hdr)
{
return (sip_cseq_t *)
msg_header_dup_as(home, sip_cseq_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_cseq_t *sip_cseq_copy(su_home_t *home, sip_cseq_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_cseq_t *sip_cseq_copy(su_home_t *home, sip_cseq_t const *hdr)
{
return (sip_cseq_t *)
msg_header_copy_as(home, sip_cseq_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_cseq_t *sip_cseq_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_cseq_t *sip_cseq_make(su_home_t *home, char const *s)
{
return (sip_cseq_t *)sip_header_make(home, sip_cseq_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_cseq_t *sip_cseq_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_cseq_t *sip_cseq_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_cseq_class, fmt, ap);
va_end(ap);
return (sip_cseq_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_contact_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_contact_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_contact(sip) \
((sip_contact_t *)msg_header_access((msg_pub_t*)(sip), sip_contact_class))
#define SIP_CONTACT_INIT() SIP_HDR_INIT(contact)
#if SU_HAVE_INLINE
su_inline sip_contact_t *sip_contact_init(sip_contact_t x[1])
{
return SIP_HEADER_INIT(x, sip_contact_class, sizeof(sip_contact_t));
}
#else
#define sip_contact_init(x) \
SIP_HEADER_INIT(x, sip_contact_class, sizeof(sip_contact_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_contact(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_contact_hash;
}
#else
int sip_is_contact(sip_header_t const *header);
#endif
#define sip_contact_p(h) sip_is_contact((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_contact_t *sip_contact_dup(su_home_t *home, sip_contact_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_contact_t *sip_contact_dup(su_home_t *home, sip_contact_t const *hdr)
{
return (sip_contact_t *)
msg_header_dup_as(home, sip_contact_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_contact_t *sip_contact_copy(su_home_t *home, sip_contact_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_contact_t *sip_contact_copy(su_home_t *home, sip_contact_t const *hdr)
{
return (sip_contact_t *)
msg_header_copy_as(home, sip_contact_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_contact_t *sip_contact_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_contact_t *sip_contact_make(su_home_t *home, char const *s)
{
return (sip_contact_t *)sip_header_make(home, sip_contact_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_contact_t *sip_contact_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_contact_t *sip_contact_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_contact_class, fmt, ap);
va_end(ap);
return (sip_contact_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_rseq_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_rseq_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_rseq(sip) \
((sip_rseq_t *)msg_header_access((msg_pub_t*)(sip), sip_rseq_class))
#define SIP_RSEQ_INIT() SIP_HDR_INIT(rseq)
#if SU_HAVE_INLINE
su_inline sip_rseq_t *sip_rseq_init(sip_rseq_t x[1])
{
return SIP_HEADER_INIT(x, sip_rseq_class, sizeof(sip_rseq_t));
}
#else
#define sip_rseq_init(x) \
SIP_HEADER_INIT(x, sip_rseq_class, sizeof(sip_rseq_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_rseq(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_rseq_hash;
}
#else
int sip_is_rseq(sip_header_t const *header);
#endif
#define sip_rseq_p(h) sip_is_rseq((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_rseq_t *sip_rseq_dup(su_home_t *home, sip_rseq_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_rseq_t *sip_rseq_dup(su_home_t *home, sip_rseq_t const *hdr)
{
return (sip_rseq_t *)
msg_header_dup_as(home, sip_rseq_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_rseq_t *sip_rseq_copy(su_home_t *home, sip_rseq_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_rseq_t *sip_rseq_copy(su_home_t *home, sip_rseq_t const *hdr)
{
return (sip_rseq_t *)
msg_header_copy_as(home, sip_rseq_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_rseq_t *sip_rseq_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_rseq_t *sip_rseq_make(su_home_t *home, char const *s)
{
return (sip_rseq_t *)sip_header_make(home, sip_rseq_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_rseq_t *sip_rseq_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_rseq_t *sip_rseq_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_rseq_class, fmt, ap);
va_end(ap);
return (sip_rseq_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_rack_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_rack_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_rack(sip) \
((sip_rack_t *)msg_header_access((msg_pub_t*)(sip), sip_rack_class))
#define SIP_RACK_INIT() SIP_HDR_INIT(rack)
#if SU_HAVE_INLINE
su_inline sip_rack_t *sip_rack_init(sip_rack_t x[1])
{
return SIP_HEADER_INIT(x, sip_rack_class, sizeof(sip_rack_t));
}
#else
#define sip_rack_init(x) \
SIP_HEADER_INIT(x, sip_rack_class, sizeof(sip_rack_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_rack(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_rack_hash;
}
#else
int sip_is_rack(sip_header_t const *header);
#endif
#define sip_rack_p(h) sip_is_rack((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_rack_t *sip_rack_dup(su_home_t *home, sip_rack_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_rack_t *sip_rack_dup(su_home_t *home, sip_rack_t const *hdr)
{
return (sip_rack_t *)
msg_header_dup_as(home, sip_rack_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_rack_t *sip_rack_copy(su_home_t *home, sip_rack_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_rack_t *sip_rack_copy(su_home_t *home, sip_rack_t const *hdr)
{
return (sip_rack_t *)
msg_header_copy_as(home, sip_rack_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_rack_t *sip_rack_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_rack_t *sip_rack_make(su_home_t *home, char const *s)
{
return (sip_rack_t *)sip_header_make(home, sip_rack_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_rack_t *sip_rack_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_rack_t *sip_rack_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_rack_class, fmt, ap);
va_end(ap);
return (sip_rack_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_request_disposition_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_request_disposition_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_request_disposition(sip) \
((sip_request_disposition_t *)msg_header_access((msg_pub_t*)(sip), sip_request_disposition_class))
#define SIP_REQUEST_DISPOSITION_INIT() SIP_HDR_INIT(request_disposition)
#if SU_HAVE_INLINE
su_inline sip_request_disposition_t *sip_request_disposition_init(sip_request_disposition_t x[1])
{
return SIP_HEADER_INIT(x, sip_request_disposition_class, sizeof(sip_request_disposition_t));
}
#else
#define sip_request_disposition_init(x) \
SIP_HEADER_INIT(x, sip_request_disposition_class, sizeof(sip_request_disposition_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_request_disposition(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_request_disposition_hash;
}
#else
int sip_is_request_disposition(sip_header_t const *header);
#endif
#define sip_request_disposition_p(h) sip_is_request_disposition((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_request_disposition_t *sip_request_disposition_dup(su_home_t *home, sip_request_disposition_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_request_disposition_t *sip_request_disposition_dup(su_home_t *home, sip_request_disposition_t const *hdr)
{
return (sip_request_disposition_t *)
msg_header_dup_as(home, sip_request_disposition_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_request_disposition_t *sip_request_disposition_copy(su_home_t *home, sip_request_disposition_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_request_disposition_t *sip_request_disposition_copy(su_home_t *home, sip_request_disposition_t const *hdr)
{
return (sip_request_disposition_t *)
msg_header_copy_as(home, sip_request_disposition_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_request_disposition_t *sip_request_disposition_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_request_disposition_t *sip_request_disposition_make(su_home_t *home, char const *s)
{
return (sip_request_disposition_t *)sip_header_make(home, sip_request_disposition_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_request_disposition_t *sip_request_disposition_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_request_disposition_t *sip_request_disposition_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_request_disposition_class, fmt, ap);
va_end(ap);
return (sip_request_disposition_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_accept_contact_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_accept_contact_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_accept_contact(sip) \
((sip_accept_contact_t *)msg_header_access((msg_pub_t*)(sip), sip_accept_contact_class))
#define SIP_ACCEPT_CONTACT_INIT() SIP_HDR_INIT(accept_contact)
#if SU_HAVE_INLINE
su_inline sip_accept_contact_t *sip_accept_contact_init(sip_accept_contact_t x[1])
{
return SIP_HEADER_INIT(x, sip_accept_contact_class, sizeof(sip_accept_contact_t));
}
#else
#define sip_accept_contact_init(x) \
SIP_HEADER_INIT(x, sip_accept_contact_class, sizeof(sip_accept_contact_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_accept_contact(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_accept_contact_hash;
}
#else
int sip_is_accept_contact(sip_header_t const *header);
#endif
#define sip_accept_contact_p(h) sip_is_accept_contact((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_accept_contact_t *sip_accept_contact_dup(su_home_t *home, sip_accept_contact_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_accept_contact_t *sip_accept_contact_dup(su_home_t *home, sip_accept_contact_t const *hdr)
{
return (sip_accept_contact_t *)
msg_header_dup_as(home, sip_accept_contact_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_accept_contact_t *sip_accept_contact_copy(su_home_t *home, sip_accept_contact_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_accept_contact_t *sip_accept_contact_copy(su_home_t *home, sip_accept_contact_t const *hdr)
{
return (sip_accept_contact_t *)
msg_header_copy_as(home, sip_accept_contact_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_accept_contact_t *sip_accept_contact_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_accept_contact_t *sip_accept_contact_make(su_home_t *home, char const *s)
{
return (sip_accept_contact_t *)sip_header_make(home, sip_accept_contact_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_accept_contact_t *sip_accept_contact_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_accept_contact_t *sip_accept_contact_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_accept_contact_class, fmt, ap);
va_end(ap);
return (sip_accept_contact_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_reject_contact_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_reject_contact_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_reject_contact(sip) \
((sip_reject_contact_t *)msg_header_access((msg_pub_t*)(sip), sip_reject_contact_class))
#define SIP_REJECT_CONTACT_INIT() SIP_HDR_INIT(reject_contact)
#if SU_HAVE_INLINE
su_inline sip_reject_contact_t *sip_reject_contact_init(sip_reject_contact_t x[1])
{
return SIP_HEADER_INIT(x, sip_reject_contact_class, sizeof(sip_reject_contact_t));
}
#else
#define sip_reject_contact_init(x) \
SIP_HEADER_INIT(x, sip_reject_contact_class, sizeof(sip_reject_contact_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_reject_contact(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_reject_contact_hash;
}
#else
int sip_is_reject_contact(sip_header_t const *header);
#endif
#define sip_reject_contact_p(h) sip_is_reject_contact((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_reject_contact_t *sip_reject_contact_dup(su_home_t *home, sip_reject_contact_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_reject_contact_t *sip_reject_contact_dup(su_home_t *home, sip_reject_contact_t const *hdr)
{
return (sip_reject_contact_t *)
msg_header_dup_as(home, sip_reject_contact_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_reject_contact_t *sip_reject_contact_copy(su_home_t *home, sip_reject_contact_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_reject_contact_t *sip_reject_contact_copy(su_home_t *home, sip_reject_contact_t const *hdr)
{
return (sip_reject_contact_t *)
msg_header_copy_as(home, sip_reject_contact_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_reject_contact_t *sip_reject_contact_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_reject_contact_t *sip_reject_contact_make(su_home_t *home, char const *s)
{
return (sip_reject_contact_t *)sip_header_make(home, sip_reject_contact_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_reject_contact_t *sip_reject_contact_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_reject_contact_t *sip_reject_contact_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_reject_contact_class, fmt, ap);
va_end(ap);
return (sip_reject_contact_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_expires_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_expires_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_expires(sip) \
((sip_expires_t *)msg_header_access((msg_pub_t*)(sip), sip_expires_class))
#define SIP_EXPIRES_INIT() SIP_HDR_INIT(expires)
#if SU_HAVE_INLINE
su_inline sip_expires_t *sip_expires_init(sip_expires_t x[1])
{
return SIP_HEADER_INIT(x, sip_expires_class, sizeof(sip_expires_t));
}
#else
#define sip_expires_init(x) \
SIP_HEADER_INIT(x, sip_expires_class, sizeof(sip_expires_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_expires(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_expires_hash;
}
#else
int sip_is_expires(sip_header_t const *header);
#endif
#define sip_expires_p(h) sip_is_expires((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_expires_t *sip_expires_dup(su_home_t *home, sip_expires_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_expires_t *sip_expires_dup(su_home_t *home, sip_expires_t const *hdr)
{
return (sip_expires_t *)
msg_header_dup_as(home, sip_expires_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_expires_t *sip_expires_copy(su_home_t *home, sip_expires_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_expires_t *sip_expires_copy(su_home_t *home, sip_expires_t const *hdr)
{
return (sip_expires_t *)
msg_header_copy_as(home, sip_expires_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_expires_t *sip_expires_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_expires_t *sip_expires_make(su_home_t *home, char const *s)
{
return (sip_expires_t *)sip_header_make(home, sip_expires_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_expires_t *sip_expires_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_expires_t *sip_expires_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_expires_class, fmt, ap);
va_end(ap);
return (sip_expires_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_date_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_date_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_date(sip) \
((sip_date_t *)msg_header_access((msg_pub_t*)(sip), sip_date_class))
#define SIP_DATE_INIT() SIP_HDR_INIT(date)
#if SU_HAVE_INLINE
su_inline sip_date_t *sip_date_init(sip_date_t x[1])
{
return SIP_HEADER_INIT(x, sip_date_class, sizeof(sip_date_t));
}
#else
#define sip_date_init(x) \
SIP_HEADER_INIT(x, sip_date_class, sizeof(sip_date_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_date(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_date_hash;
}
#else
int sip_is_date(sip_header_t const *header);
#endif
#define sip_date_p(h) sip_is_date((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_date_t *sip_date_dup(su_home_t *home, sip_date_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_date_t *sip_date_dup(su_home_t *home, sip_date_t const *hdr)
{
return (sip_date_t *)
msg_header_dup_as(home, sip_date_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_date_t *sip_date_copy(su_home_t *home, sip_date_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_date_t *sip_date_copy(su_home_t *home, sip_date_t const *hdr)
{
return (sip_date_t *)
msg_header_copy_as(home, sip_date_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_date_t *sip_date_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_date_t *sip_date_make(su_home_t *home, char const *s)
{
return (sip_date_t *)sip_header_make(home, sip_date_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_date_t *sip_date_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_date_t *sip_date_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_date_class, fmt, ap);
va_end(ap);
return (sip_date_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_retry_after_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_retry_after_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_retry_after(sip) \
((sip_retry_after_t *)msg_header_access((msg_pub_t*)(sip), sip_retry_after_class))
#define SIP_RETRY_AFTER_INIT() SIP_HDR_INIT(retry_after)
#if SU_HAVE_INLINE
su_inline sip_retry_after_t *sip_retry_after_init(sip_retry_after_t x[1])
{
return SIP_HEADER_INIT(x, sip_retry_after_class, sizeof(sip_retry_after_t));
}
#else
#define sip_retry_after_init(x) \
SIP_HEADER_INIT(x, sip_retry_after_class, sizeof(sip_retry_after_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_retry_after(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_retry_after_hash;
}
#else
int sip_is_retry_after(sip_header_t const *header);
#endif
#define sip_retry_after_p(h) sip_is_retry_after((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_retry_after_t *sip_retry_after_dup(su_home_t *home, sip_retry_after_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_retry_after_t *sip_retry_after_dup(su_home_t *home, sip_retry_after_t const *hdr)
{
return (sip_retry_after_t *)
msg_header_dup_as(home, sip_retry_after_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_retry_after_t *sip_retry_after_copy(su_home_t *home, sip_retry_after_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_retry_after_t *sip_retry_after_copy(su_home_t *home, sip_retry_after_t const *hdr)
{
return (sip_retry_after_t *)
msg_header_copy_as(home, sip_retry_after_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_retry_after_t *sip_retry_after_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_retry_after_t *sip_retry_after_make(su_home_t *home, char const *s)
{
return (sip_retry_after_t *)sip_header_make(home, sip_retry_after_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_retry_after_t *sip_retry_after_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_retry_after_t *sip_retry_after_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_retry_after_class, fmt, ap);
va_end(ap);
return (sip_retry_after_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_timestamp_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_timestamp_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_timestamp(sip) \
((sip_timestamp_t *)msg_header_access((msg_pub_t*)(sip), sip_timestamp_class))
#define SIP_TIMESTAMP_INIT() SIP_HDR_INIT(timestamp)
#if SU_HAVE_INLINE
su_inline sip_timestamp_t *sip_timestamp_init(sip_timestamp_t x[1])
{
return SIP_HEADER_INIT(x, sip_timestamp_class, sizeof(sip_timestamp_t));
}
#else
#define sip_timestamp_init(x) \
SIP_HEADER_INIT(x, sip_timestamp_class, sizeof(sip_timestamp_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_timestamp(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_timestamp_hash;
}
#else
int sip_is_timestamp(sip_header_t const *header);
#endif
#define sip_timestamp_p(h) sip_is_timestamp((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_timestamp_t *sip_timestamp_dup(su_home_t *home, sip_timestamp_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_timestamp_t *sip_timestamp_dup(su_home_t *home, sip_timestamp_t const *hdr)
{
return (sip_timestamp_t *)
msg_header_dup_as(home, sip_timestamp_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_timestamp_t *sip_timestamp_copy(su_home_t *home, sip_timestamp_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_timestamp_t *sip_timestamp_copy(su_home_t *home, sip_timestamp_t const *hdr)
{
return (sip_timestamp_t *)
msg_header_copy_as(home, sip_timestamp_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_timestamp_t *sip_timestamp_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_timestamp_t *sip_timestamp_make(su_home_t *home, char const *s)
{
return (sip_timestamp_t *)sip_header_make(home, sip_timestamp_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_timestamp_t *sip_timestamp_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_timestamp_t *sip_timestamp_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_timestamp_class, fmt, ap);
va_end(ap);
return (sip_timestamp_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_min_expires_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_min_expires_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_min_expires(sip) \
((sip_min_expires_t *)msg_header_access((msg_pub_t*)(sip), sip_min_expires_class))
#define SIP_MIN_EXPIRES_INIT() SIP_HDR_INIT(min_expires)
#if SU_HAVE_INLINE
su_inline sip_min_expires_t *sip_min_expires_init(sip_min_expires_t x[1])
{
return SIP_HEADER_INIT(x, sip_min_expires_class, sizeof(sip_min_expires_t));
}
#else
#define sip_min_expires_init(x) \
SIP_HEADER_INIT(x, sip_min_expires_class, sizeof(sip_min_expires_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_min_expires(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_min_expires_hash;
}
#else
int sip_is_min_expires(sip_header_t const *header);
#endif
#define sip_min_expires_p(h) sip_is_min_expires((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_min_expires_t *sip_min_expires_dup(su_home_t *home, sip_min_expires_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_min_expires_t *sip_min_expires_dup(su_home_t *home, sip_min_expires_t const *hdr)
{
return (sip_min_expires_t *)
msg_header_dup_as(home, sip_min_expires_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_min_expires_t *sip_min_expires_copy(su_home_t *home, sip_min_expires_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_min_expires_t *sip_min_expires_copy(su_home_t *home, sip_min_expires_t const *hdr)
{
return (sip_min_expires_t *)
msg_header_copy_as(home, sip_min_expires_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_min_expires_t *sip_min_expires_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_min_expires_t *sip_min_expires_make(su_home_t *home, char const *s)
{
return (sip_min_expires_t *)sip_header_make(home, sip_min_expires_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_min_expires_t *sip_min_expires_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_min_expires_t *sip_min_expires_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_min_expires_class, fmt, ap);
va_end(ap);
return (sip_min_expires_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_subject_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_subject_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_subject(sip) \
((sip_subject_t *)msg_header_access((msg_pub_t*)(sip), sip_subject_class))
#define SIP_SUBJECT_INIT() SIP_HDR_INIT(subject)
#if SU_HAVE_INLINE
su_inline sip_subject_t *sip_subject_init(sip_subject_t x[1])
{
return SIP_HEADER_INIT(x, sip_subject_class, sizeof(sip_subject_t));
}
#else
#define sip_subject_init(x) \
SIP_HEADER_INIT(x, sip_subject_class, sizeof(sip_subject_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_subject(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_subject_hash;
}
#else
int sip_is_subject(sip_header_t const *header);
#endif
#define sip_subject_p(h) sip_is_subject((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_subject_t *sip_subject_dup(su_home_t *home, sip_subject_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_subject_t *sip_subject_dup(su_home_t *home, sip_subject_t const *hdr)
{
return (sip_subject_t *)
msg_header_dup_as(home, sip_subject_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_subject_t *sip_subject_copy(su_home_t *home, sip_subject_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_subject_t *sip_subject_copy(su_home_t *home, sip_subject_t const *hdr)
{
return (sip_subject_t *)
msg_header_copy_as(home, sip_subject_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_subject_t *sip_subject_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_subject_t *sip_subject_make(su_home_t *home, char const *s)
{
return (sip_subject_t *)sip_header_make(home, sip_subject_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_subject_t *sip_subject_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_subject_t *sip_subject_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_subject_class, fmt, ap);
va_end(ap);
return (sip_subject_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_priority_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_priority_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_priority(sip) \
((sip_priority_t *)msg_header_access((msg_pub_t*)(sip), sip_priority_class))
#define SIP_PRIORITY_INIT() SIP_HDR_INIT(priority)
#if SU_HAVE_INLINE
su_inline sip_priority_t *sip_priority_init(sip_priority_t x[1])
{
return SIP_HEADER_INIT(x, sip_priority_class, sizeof(sip_priority_t));
}
#else
#define sip_priority_init(x) \
SIP_HEADER_INIT(x, sip_priority_class, sizeof(sip_priority_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_priority(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_priority_hash;
}
#else
int sip_is_priority(sip_header_t const *header);
#endif
#define sip_priority_p(h) sip_is_priority((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_priority_t *sip_priority_dup(su_home_t *home, sip_priority_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_priority_t *sip_priority_dup(su_home_t *home, sip_priority_t const *hdr)
{
return (sip_priority_t *)
msg_header_dup_as(home, sip_priority_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_priority_t *sip_priority_copy(su_home_t *home, sip_priority_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_priority_t *sip_priority_copy(su_home_t *home, sip_priority_t const *hdr)
{
return (sip_priority_t *)
msg_header_copy_as(home, sip_priority_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_priority_t *sip_priority_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_priority_t *sip_priority_make(su_home_t *home, char const *s)
{
return (sip_priority_t *)sip_header_make(home, sip_priority_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_priority_t *sip_priority_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_priority_t *sip_priority_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_priority_class, fmt, ap);
va_end(ap);
return (sip_priority_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_call_info_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_call_info_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_call_info(sip) \
((sip_call_info_t *)msg_header_access((msg_pub_t*)(sip), sip_call_info_class))
#define SIP_CALL_INFO_INIT() SIP_HDR_INIT(call_info)
#if SU_HAVE_INLINE
su_inline sip_call_info_t *sip_call_info_init(sip_call_info_t x[1])
{
return SIP_HEADER_INIT(x, sip_call_info_class, sizeof(sip_call_info_t));
}
#else
#define sip_call_info_init(x) \
SIP_HEADER_INIT(x, sip_call_info_class, sizeof(sip_call_info_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_call_info(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_call_info_hash;
}
#else
int sip_is_call_info(sip_header_t const *header);
#endif
#define sip_call_info_p(h) sip_is_call_info((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_call_info_t *sip_call_info_dup(su_home_t *home, sip_call_info_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_call_info_t *sip_call_info_dup(su_home_t *home, sip_call_info_t const *hdr)
{
return (sip_call_info_t *)
msg_header_dup_as(home, sip_call_info_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_call_info_t *sip_call_info_copy(su_home_t *home, sip_call_info_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_call_info_t *sip_call_info_copy(su_home_t *home, sip_call_info_t const *hdr)
{
return (sip_call_info_t *)
msg_header_copy_as(home, sip_call_info_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_call_info_t *sip_call_info_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_call_info_t *sip_call_info_make(su_home_t *home, char const *s)
{
return (sip_call_info_t *)sip_header_make(home, sip_call_info_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_call_info_t *sip_call_info_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_call_info_t *sip_call_info_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_call_info_class, fmt, ap);
va_end(ap);
return (sip_call_info_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_organization_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_organization_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_organization(sip) \
((sip_organization_t *)msg_header_access((msg_pub_t*)(sip), sip_organization_class))
#define SIP_ORGANIZATION_INIT() SIP_HDR_INIT(organization)
#if SU_HAVE_INLINE
su_inline sip_organization_t *sip_organization_init(sip_organization_t x[1])
{
return SIP_HEADER_INIT(x, sip_organization_class, sizeof(sip_organization_t));
}
#else
#define sip_organization_init(x) \
SIP_HEADER_INIT(x, sip_organization_class, sizeof(sip_organization_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_organization(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_organization_hash;
}
#else
int sip_is_organization(sip_header_t const *header);
#endif
#define sip_organization_p(h) sip_is_organization((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_organization_t *sip_organization_dup(su_home_t *home, sip_organization_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_organization_t *sip_organization_dup(su_home_t *home, sip_organization_t const *hdr)
{
return (sip_organization_t *)
msg_header_dup_as(home, sip_organization_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_organization_t *sip_organization_copy(su_home_t *home, sip_organization_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_organization_t *sip_organization_copy(su_home_t *home, sip_organization_t const *hdr)
{
return (sip_organization_t *)
msg_header_copy_as(home, sip_organization_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_organization_t *sip_organization_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_organization_t *sip_organization_make(su_home_t *home, char const *s)
{
return (sip_organization_t *)sip_header_make(home, sip_organization_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_organization_t *sip_organization_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_organization_t *sip_organization_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_organization_class, fmt, ap);
va_end(ap);
return (sip_organization_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_server_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_server_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_server(sip) \
((sip_server_t *)msg_header_access((msg_pub_t*)(sip), sip_server_class))
#define SIP_SERVER_INIT() SIP_HDR_INIT(server)
#if SU_HAVE_INLINE
su_inline sip_server_t *sip_server_init(sip_server_t x[1])
{
return SIP_HEADER_INIT(x, sip_server_class, sizeof(sip_server_t));
}
#else
#define sip_server_init(x) \
SIP_HEADER_INIT(x, sip_server_class, sizeof(sip_server_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_server(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_server_hash;
}
#else
int sip_is_server(sip_header_t const *header);
#endif
#define sip_server_p(h) sip_is_server((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_server_t *sip_server_dup(su_home_t *home, sip_server_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_server_t *sip_server_dup(su_home_t *home, sip_server_t const *hdr)
{
return (sip_server_t *)
msg_header_dup_as(home, sip_server_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_server_t *sip_server_copy(su_home_t *home, sip_server_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_server_t *sip_server_copy(su_home_t *home, sip_server_t const *hdr)
{
return (sip_server_t *)
msg_header_copy_as(home, sip_server_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_server_t *sip_server_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_server_t *sip_server_make(su_home_t *home, char const *s)
{
return (sip_server_t *)sip_header_make(home, sip_server_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_server_t *sip_server_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_server_t *sip_server_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_server_class, fmt, ap);
va_end(ap);
return (sip_server_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_user_agent_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_user_agent_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_user_agent(sip) \
((sip_user_agent_t *)msg_header_access((msg_pub_t*)(sip), sip_user_agent_class))
#define SIP_USER_AGENT_INIT() SIP_HDR_INIT(user_agent)
#if SU_HAVE_INLINE
su_inline sip_user_agent_t *sip_user_agent_init(sip_user_agent_t x[1])
{
return SIP_HEADER_INIT(x, sip_user_agent_class, sizeof(sip_user_agent_t));
}
#else
#define sip_user_agent_init(x) \
SIP_HEADER_INIT(x, sip_user_agent_class, sizeof(sip_user_agent_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_user_agent(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_user_agent_hash;
}
#else
int sip_is_user_agent(sip_header_t const *header);
#endif
#define sip_user_agent_p(h) sip_is_user_agent((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_user_agent_t *sip_user_agent_dup(su_home_t *home, sip_user_agent_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_user_agent_t *sip_user_agent_dup(su_home_t *home, sip_user_agent_t const *hdr)
{
return (sip_user_agent_t *)
msg_header_dup_as(home, sip_user_agent_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_user_agent_t *sip_user_agent_copy(su_home_t *home, sip_user_agent_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_user_agent_t *sip_user_agent_copy(su_home_t *home, sip_user_agent_t const *hdr)
{
return (sip_user_agent_t *)
msg_header_copy_as(home, sip_user_agent_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_user_agent_t *sip_user_agent_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_user_agent_t *sip_user_agent_make(su_home_t *home, char const *s)
{
return (sip_user_agent_t *)sip_header_make(home, sip_user_agent_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_user_agent_t *sip_user_agent_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_user_agent_t *sip_user_agent_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_user_agent_class, fmt, ap);
va_end(ap);
return (sip_user_agent_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_in_reply_to_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_in_reply_to_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_in_reply_to(sip) \
((sip_in_reply_to_t *)msg_header_access((msg_pub_t*)(sip), sip_in_reply_to_class))
#define SIP_IN_REPLY_TO_INIT() SIP_HDR_INIT(in_reply_to)
#if SU_HAVE_INLINE
su_inline sip_in_reply_to_t *sip_in_reply_to_init(sip_in_reply_to_t x[1])
{
return SIP_HEADER_INIT(x, sip_in_reply_to_class, sizeof(sip_in_reply_to_t));
}
#else
#define sip_in_reply_to_init(x) \
SIP_HEADER_INIT(x, sip_in_reply_to_class, sizeof(sip_in_reply_to_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_in_reply_to(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_in_reply_to_hash;
}
#else
int sip_is_in_reply_to(sip_header_t const *header);
#endif
#define sip_in_reply_to_p(h) sip_is_in_reply_to((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_in_reply_to_t *sip_in_reply_to_dup(su_home_t *home, sip_in_reply_to_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_in_reply_to_t *sip_in_reply_to_dup(su_home_t *home, sip_in_reply_to_t const *hdr)
{
return (sip_in_reply_to_t *)
msg_header_dup_as(home, sip_in_reply_to_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_in_reply_to_t *sip_in_reply_to_copy(su_home_t *home, sip_in_reply_to_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_in_reply_to_t *sip_in_reply_to_copy(su_home_t *home, sip_in_reply_to_t const *hdr)
{
return (sip_in_reply_to_t *)
msg_header_copy_as(home, sip_in_reply_to_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_in_reply_to_t *sip_in_reply_to_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_in_reply_to_t *sip_in_reply_to_make(su_home_t *home, char const *s)
{
return (sip_in_reply_to_t *)sip_header_make(home, sip_in_reply_to_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_in_reply_to_t *sip_in_reply_to_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_in_reply_to_t *sip_in_reply_to_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_in_reply_to_class, fmt, ap);
va_end(ap);
return (sip_in_reply_to_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_accept_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_accept_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_accept(sip) \
((sip_accept_t *)msg_header_access((msg_pub_t*)(sip), sip_accept_class))
#define SIP_ACCEPT_INIT() SIP_HDR_INIT(accept)
#if SU_HAVE_INLINE
su_inline sip_accept_t *sip_accept_init(sip_accept_t x[1])
{
return SIP_HEADER_INIT(x, sip_accept_class, sizeof(sip_accept_t));
}
#else
#define sip_accept_init(x) \
SIP_HEADER_INIT(x, sip_accept_class, sizeof(sip_accept_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_accept(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_accept_hash;
}
#else
int sip_is_accept(sip_header_t const *header);
#endif
#define sip_accept_p(h) sip_is_accept((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_accept_t *sip_accept_dup(su_home_t *home, sip_accept_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_accept_t *sip_accept_dup(su_home_t *home, sip_accept_t const *hdr)
{
return (sip_accept_t *)
msg_header_dup_as(home, sip_accept_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_accept_t *sip_accept_copy(su_home_t *home, sip_accept_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_accept_t *sip_accept_copy(su_home_t *home, sip_accept_t const *hdr)
{
return (sip_accept_t *)
msg_header_copy_as(home, sip_accept_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_accept_t *sip_accept_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_accept_t *sip_accept_make(su_home_t *home, char const *s)
{
return (sip_accept_t *)sip_header_make(home, sip_accept_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_accept_t *sip_accept_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_accept_t *sip_accept_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_accept_class, fmt, ap);
va_end(ap);
return (sip_accept_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_accept_encoding_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_accept_encoding_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_accept_encoding(sip) \
((sip_accept_encoding_t *)msg_header_access((msg_pub_t*)(sip), sip_accept_encoding_class))
#define SIP_ACCEPT_ENCODING_INIT() SIP_HDR_INIT(accept_encoding)
#if SU_HAVE_INLINE
su_inline sip_accept_encoding_t *sip_accept_encoding_init(sip_accept_encoding_t x[1])
{
return SIP_HEADER_INIT(x, sip_accept_encoding_class, sizeof(sip_accept_encoding_t));
}
#else
#define sip_accept_encoding_init(x) \
SIP_HEADER_INIT(x, sip_accept_encoding_class, sizeof(sip_accept_encoding_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_accept_encoding(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_accept_encoding_hash;
}
#else
int sip_is_accept_encoding(sip_header_t const *header);
#endif
#define sip_accept_encoding_p(h) sip_is_accept_encoding((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_accept_encoding_t *sip_accept_encoding_dup(su_home_t *home, sip_accept_encoding_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_accept_encoding_t *sip_accept_encoding_dup(su_home_t *home, sip_accept_encoding_t const *hdr)
{
return (sip_accept_encoding_t *)
msg_header_dup_as(home, sip_accept_encoding_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_accept_encoding_t *sip_accept_encoding_copy(su_home_t *home, sip_accept_encoding_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_accept_encoding_t *sip_accept_encoding_copy(su_home_t *home, sip_accept_encoding_t const *hdr)
{
return (sip_accept_encoding_t *)
msg_header_copy_as(home, sip_accept_encoding_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_accept_encoding_t *sip_accept_encoding_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_accept_encoding_t *sip_accept_encoding_make(su_home_t *home, char const *s)
{
return (sip_accept_encoding_t *)sip_header_make(home, sip_accept_encoding_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_accept_encoding_t *sip_accept_encoding_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_accept_encoding_t *sip_accept_encoding_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_accept_encoding_class, fmt, ap);
va_end(ap);
return (sip_accept_encoding_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_accept_language_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_accept_language_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_accept_language(sip) \
((sip_accept_language_t *)msg_header_access((msg_pub_t*)(sip), sip_accept_language_class))
#define SIP_ACCEPT_LANGUAGE_INIT() SIP_HDR_INIT(accept_language)
#if SU_HAVE_INLINE
su_inline sip_accept_language_t *sip_accept_language_init(sip_accept_language_t x[1])
{
return SIP_HEADER_INIT(x, sip_accept_language_class, sizeof(sip_accept_language_t));
}
#else
#define sip_accept_language_init(x) \
SIP_HEADER_INIT(x, sip_accept_language_class, sizeof(sip_accept_language_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_accept_language(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_accept_language_hash;
}
#else
int sip_is_accept_language(sip_header_t const *header);
#endif
#define sip_accept_language_p(h) sip_is_accept_language((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_accept_language_t *sip_accept_language_dup(su_home_t *home, sip_accept_language_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_accept_language_t *sip_accept_language_dup(su_home_t *home, sip_accept_language_t const *hdr)
{
return (sip_accept_language_t *)
msg_header_dup_as(home, sip_accept_language_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_accept_language_t *sip_accept_language_copy(su_home_t *home, sip_accept_language_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_accept_language_t *sip_accept_language_copy(su_home_t *home, sip_accept_language_t const *hdr)
{
return (sip_accept_language_t *)
msg_header_copy_as(home, sip_accept_language_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_accept_language_t *sip_accept_language_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_accept_language_t *sip_accept_language_make(su_home_t *home, char const *s)
{
return (sip_accept_language_t *)sip_header_make(home, sip_accept_language_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_accept_language_t *sip_accept_language_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_accept_language_t *sip_accept_language_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_accept_language_class, fmt, ap);
va_end(ap);
return (sip_accept_language_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_allow_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_allow_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_allow(sip) \
((sip_allow_t *)msg_header_access((msg_pub_t*)(sip), sip_allow_class))
#define SIP_ALLOW_INIT() SIP_HDR_INIT(allow)
#if SU_HAVE_INLINE
su_inline sip_allow_t *sip_allow_init(sip_allow_t x[1])
{
return SIP_HEADER_INIT(x, sip_allow_class, sizeof(sip_allow_t));
}
#else
#define sip_allow_init(x) \
SIP_HEADER_INIT(x, sip_allow_class, sizeof(sip_allow_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_allow(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_allow_hash;
}
#else
int sip_is_allow(sip_header_t const *header);
#endif
#define sip_allow_p(h) sip_is_allow((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_allow_t *sip_allow_dup(su_home_t *home, sip_allow_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_allow_t *sip_allow_dup(su_home_t *home, sip_allow_t const *hdr)
{
return (sip_allow_t *)
msg_header_dup_as(home, sip_allow_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_allow_t *sip_allow_copy(su_home_t *home, sip_allow_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_allow_t *sip_allow_copy(su_home_t *home, sip_allow_t const *hdr)
{
return (sip_allow_t *)
msg_header_copy_as(home, sip_allow_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_allow_t *sip_allow_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_allow_t *sip_allow_make(su_home_t *home, char const *s)
{
return (sip_allow_t *)sip_header_make(home, sip_allow_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_allow_t *sip_allow_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_allow_t *sip_allow_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_allow_class, fmt, ap);
va_end(ap);
return (sip_allow_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_require_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_require_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_require(sip) \
((sip_require_t *)msg_header_access((msg_pub_t*)(sip), sip_require_class))
#define SIP_REQUIRE_INIT() SIP_HDR_INIT(require)
#if SU_HAVE_INLINE
su_inline sip_require_t *sip_require_init(sip_require_t x[1])
{
return SIP_HEADER_INIT(x, sip_require_class, sizeof(sip_require_t));
}
#else
#define sip_require_init(x) \
SIP_HEADER_INIT(x, sip_require_class, sizeof(sip_require_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_require(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_require_hash;
}
#else
int sip_is_require(sip_header_t const *header);
#endif
#define sip_require_p(h) sip_is_require((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_require_t *sip_require_dup(su_home_t *home, sip_require_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_require_t *sip_require_dup(su_home_t *home, sip_require_t const *hdr)
{
return (sip_require_t *)
msg_header_dup_as(home, sip_require_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_require_t *sip_require_copy(su_home_t *home, sip_require_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_require_t *sip_require_copy(su_home_t *home, sip_require_t const *hdr)
{
return (sip_require_t *)
msg_header_copy_as(home, sip_require_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_require_t *sip_require_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_require_t *sip_require_make(su_home_t *home, char const *s)
{
return (sip_require_t *)sip_header_make(home, sip_require_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_require_t *sip_require_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_require_t *sip_require_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_require_class, fmt, ap);
va_end(ap);
return (sip_require_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_supported_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_supported_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_supported(sip) \
((sip_supported_t *)msg_header_access((msg_pub_t*)(sip), sip_supported_class))
#define SIP_SUPPORTED_INIT() SIP_HDR_INIT(supported)
#if SU_HAVE_INLINE
su_inline sip_supported_t *sip_supported_init(sip_supported_t x[1])
{
return SIP_HEADER_INIT(x, sip_supported_class, sizeof(sip_supported_t));
}
#else
#define sip_supported_init(x) \
SIP_HEADER_INIT(x, sip_supported_class, sizeof(sip_supported_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_supported(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_supported_hash;
}
#else
int sip_is_supported(sip_header_t const *header);
#endif
#define sip_supported_p(h) sip_is_supported((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_supported_t *sip_supported_dup(su_home_t *home, sip_supported_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_supported_t *sip_supported_dup(su_home_t *home, sip_supported_t const *hdr)
{
return (sip_supported_t *)
msg_header_dup_as(home, sip_supported_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_supported_t *sip_supported_copy(su_home_t *home, sip_supported_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_supported_t *sip_supported_copy(su_home_t *home, sip_supported_t const *hdr)
{
return (sip_supported_t *)
msg_header_copy_as(home, sip_supported_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_supported_t *sip_supported_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_supported_t *sip_supported_make(su_home_t *home, char const *s)
{
return (sip_supported_t *)sip_header_make(home, sip_supported_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_supported_t *sip_supported_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_supported_t *sip_supported_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_supported_class, fmt, ap);
va_end(ap);
return (sip_supported_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_unsupported_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_unsupported_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_unsupported(sip) \
((sip_unsupported_t *)msg_header_access((msg_pub_t*)(sip), sip_unsupported_class))
#define SIP_UNSUPPORTED_INIT() SIP_HDR_INIT(unsupported)
#if SU_HAVE_INLINE
su_inline sip_unsupported_t *sip_unsupported_init(sip_unsupported_t x[1])
{
return SIP_HEADER_INIT(x, sip_unsupported_class, sizeof(sip_unsupported_t));
}
#else
#define sip_unsupported_init(x) \
SIP_HEADER_INIT(x, sip_unsupported_class, sizeof(sip_unsupported_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_unsupported(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_unsupported_hash;
}
#else
int sip_is_unsupported(sip_header_t const *header);
#endif
#define sip_unsupported_p(h) sip_is_unsupported((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_unsupported_t *sip_unsupported_dup(su_home_t *home, sip_unsupported_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_unsupported_t *sip_unsupported_dup(su_home_t *home, sip_unsupported_t const *hdr)
{
return (sip_unsupported_t *)
msg_header_dup_as(home, sip_unsupported_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_unsupported_t *sip_unsupported_copy(su_home_t *home, sip_unsupported_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_unsupported_t *sip_unsupported_copy(su_home_t *home, sip_unsupported_t const *hdr)
{
return (sip_unsupported_t *)
msg_header_copy_as(home, sip_unsupported_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_unsupported_t *sip_unsupported_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_unsupported_t *sip_unsupported_make(su_home_t *home, char const *s)
{
return (sip_unsupported_t *)sip_header_make(home, sip_unsupported_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_unsupported_t *sip_unsupported_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_unsupported_t *sip_unsupported_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_unsupported_class, fmt, ap);
va_end(ap);
return (sip_unsupported_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_event_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_event_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_event(sip) \
((sip_event_t *)msg_header_access((msg_pub_t*)(sip), sip_event_class))
#define SIP_EVENT_INIT() SIP_HDR_INIT(event)
#if SU_HAVE_INLINE
su_inline sip_event_t *sip_event_init(sip_event_t x[1])
{
return SIP_HEADER_INIT(x, sip_event_class, sizeof(sip_event_t));
}
#else
#define sip_event_init(x) \
SIP_HEADER_INIT(x, sip_event_class, sizeof(sip_event_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_event(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_event_hash;
}
#else
int sip_is_event(sip_header_t const *header);
#endif
#define sip_event_p(h) sip_is_event((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_event_t *sip_event_dup(su_home_t *home, sip_event_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_event_t *sip_event_dup(su_home_t *home, sip_event_t const *hdr)
{
return (sip_event_t *)
msg_header_dup_as(home, sip_event_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_event_t *sip_event_copy(su_home_t *home, sip_event_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_event_t *sip_event_copy(su_home_t *home, sip_event_t const *hdr)
{
return (sip_event_t *)
msg_header_copy_as(home, sip_event_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_event_t *sip_event_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_event_t *sip_event_make(su_home_t *home, char const *s)
{
return (sip_event_t *)sip_header_make(home, sip_event_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_event_t *sip_event_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_event_t *sip_event_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_event_class, fmt, ap);
va_end(ap);
return (sip_event_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_allow_events_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_allow_events_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_allow_events(sip) \
((sip_allow_events_t *)msg_header_access((msg_pub_t*)(sip), sip_allow_events_class))
#define SIP_ALLOW_EVENTS_INIT() SIP_HDR_INIT(allow_events)
#if SU_HAVE_INLINE
su_inline sip_allow_events_t *sip_allow_events_init(sip_allow_events_t x[1])
{
return SIP_HEADER_INIT(x, sip_allow_events_class, sizeof(sip_allow_events_t));
}
#else
#define sip_allow_events_init(x) \
SIP_HEADER_INIT(x, sip_allow_events_class, sizeof(sip_allow_events_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_allow_events(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_allow_events_hash;
}
#else
int sip_is_allow_events(sip_header_t const *header);
#endif
#define sip_allow_events_p(h) sip_is_allow_events((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_allow_events_t *sip_allow_events_dup(su_home_t *home, sip_allow_events_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_allow_events_t *sip_allow_events_dup(su_home_t *home, sip_allow_events_t const *hdr)
{
return (sip_allow_events_t *)
msg_header_dup_as(home, sip_allow_events_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_allow_events_t *sip_allow_events_copy(su_home_t *home, sip_allow_events_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_allow_events_t *sip_allow_events_copy(su_home_t *home, sip_allow_events_t const *hdr)
{
return (sip_allow_events_t *)
msg_header_copy_as(home, sip_allow_events_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_allow_events_t *sip_allow_events_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_allow_events_t *sip_allow_events_make(su_home_t *home, char const *s)
{
return (sip_allow_events_t *)sip_header_make(home, sip_allow_events_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_allow_events_t *sip_allow_events_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_allow_events_t *sip_allow_events_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_allow_events_class, fmt, ap);
va_end(ap);
return (sip_allow_events_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_subscription_state_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_subscription_state_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_subscription_state(sip) \
((sip_subscription_state_t *)msg_header_access((msg_pub_t*)(sip), sip_subscription_state_class))
#define SIP_SUBSCRIPTION_STATE_INIT() SIP_HDR_INIT(subscription_state)
#if SU_HAVE_INLINE
su_inline sip_subscription_state_t *sip_subscription_state_init(sip_subscription_state_t x[1])
{
return SIP_HEADER_INIT(x, sip_subscription_state_class, sizeof(sip_subscription_state_t));
}
#else
#define sip_subscription_state_init(x) \
SIP_HEADER_INIT(x, sip_subscription_state_class, sizeof(sip_subscription_state_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_subscription_state(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_subscription_state_hash;
}
#else
int sip_is_subscription_state(sip_header_t const *header);
#endif
#define sip_subscription_state_p(h) sip_is_subscription_state((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_subscription_state_t *sip_subscription_state_dup(su_home_t *home, sip_subscription_state_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_subscription_state_t *sip_subscription_state_dup(su_home_t *home, sip_subscription_state_t const *hdr)
{
return (sip_subscription_state_t *)
msg_header_dup_as(home, sip_subscription_state_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_subscription_state_t *sip_subscription_state_copy(su_home_t *home, sip_subscription_state_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_subscription_state_t *sip_subscription_state_copy(su_home_t *home, sip_subscription_state_t const *hdr)
{
return (sip_subscription_state_t *)
msg_header_copy_as(home, sip_subscription_state_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_subscription_state_t *sip_subscription_state_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_subscription_state_t *sip_subscription_state_make(su_home_t *home, char const *s)
{
return (sip_subscription_state_t *)sip_header_make(home, sip_subscription_state_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_subscription_state_t *sip_subscription_state_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_subscription_state_t *sip_subscription_state_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_subscription_state_class, fmt, ap);
va_end(ap);
return (sip_subscription_state_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_proxy_authenticate_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_proxy_authenticate_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_proxy_authenticate(sip) \
((sip_proxy_authenticate_t *)msg_header_access((msg_pub_t*)(sip), sip_proxy_authenticate_class))
#define SIP_PROXY_AUTHENTICATE_INIT() SIP_HDR_INIT(proxy_authenticate)
#if SU_HAVE_INLINE
su_inline sip_proxy_authenticate_t *sip_proxy_authenticate_init(sip_proxy_authenticate_t x[1])
{
return SIP_HEADER_INIT(x, sip_proxy_authenticate_class, sizeof(sip_proxy_authenticate_t));
}
#else
#define sip_proxy_authenticate_init(x) \
SIP_HEADER_INIT(x, sip_proxy_authenticate_class, sizeof(sip_proxy_authenticate_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_proxy_authenticate(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_proxy_authenticate_hash;
}
#else
int sip_is_proxy_authenticate(sip_header_t const *header);
#endif
#define sip_proxy_authenticate_p(h) sip_is_proxy_authenticate((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_proxy_authenticate_t *sip_proxy_authenticate_dup(su_home_t *home, sip_proxy_authenticate_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_proxy_authenticate_t *sip_proxy_authenticate_dup(su_home_t *home, sip_proxy_authenticate_t const *hdr)
{
return (sip_proxy_authenticate_t *)
msg_header_dup_as(home, sip_proxy_authenticate_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_proxy_authenticate_t *sip_proxy_authenticate_copy(su_home_t *home, sip_proxy_authenticate_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_proxy_authenticate_t *sip_proxy_authenticate_copy(su_home_t *home, sip_proxy_authenticate_t const *hdr)
{
return (sip_proxy_authenticate_t *)
msg_header_copy_as(home, sip_proxy_authenticate_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_proxy_authenticate_t *sip_proxy_authenticate_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_proxy_authenticate_t *sip_proxy_authenticate_make(su_home_t *home, char const *s)
{
return (sip_proxy_authenticate_t *)sip_header_make(home, sip_proxy_authenticate_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_proxy_authenticate_t *sip_proxy_authenticate_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_proxy_authenticate_t *sip_proxy_authenticate_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_proxy_authenticate_class, fmt, ap);
va_end(ap);
return (sip_proxy_authenticate_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_proxy_authentication_info_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_proxy_authentication_info_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_proxy_authentication_info(sip) \
((sip_proxy_authentication_info_t *)msg_header_access((msg_pub_t*)(sip), sip_proxy_authentication_info_class))
#define SIP_PROXY_AUTHENTICATION_INFO_INIT() SIP_HDR_INIT(proxy_authentication_info)
#if SU_HAVE_INLINE
su_inline sip_proxy_authentication_info_t *sip_proxy_authentication_info_init(sip_proxy_authentication_info_t x[1])
{
return SIP_HEADER_INIT(x, sip_proxy_authentication_info_class, sizeof(sip_proxy_authentication_info_t));
}
#else
#define sip_proxy_authentication_info_init(x) \
SIP_HEADER_INIT(x, sip_proxy_authentication_info_class, sizeof(sip_proxy_authentication_info_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_proxy_authentication_info(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_proxy_authentication_info_hash;
}
#else
int sip_is_proxy_authentication_info(sip_header_t const *header);
#endif
#define sip_proxy_authentication_info_p(h) sip_is_proxy_authentication_info((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_proxy_authentication_info_t *sip_proxy_authentication_info_dup(su_home_t *home, sip_proxy_authentication_info_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_proxy_authentication_info_t *sip_proxy_authentication_info_dup(su_home_t *home, sip_proxy_authentication_info_t const *hdr)
{
return (sip_proxy_authentication_info_t *)
msg_header_dup_as(home, sip_proxy_authentication_info_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_proxy_authentication_info_t *sip_proxy_authentication_info_copy(su_home_t *home, sip_proxy_authentication_info_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_proxy_authentication_info_t *sip_proxy_authentication_info_copy(su_home_t *home, sip_proxy_authentication_info_t const *hdr)
{
return (sip_proxy_authentication_info_t *)
msg_header_copy_as(home, sip_proxy_authentication_info_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_proxy_authentication_info_t *sip_proxy_authentication_info_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_proxy_authentication_info_t *sip_proxy_authentication_info_make(su_home_t *home, char const *s)
{
return (sip_proxy_authentication_info_t *)sip_header_make(home, sip_proxy_authentication_info_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_proxy_authentication_info_t *sip_proxy_authentication_info_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_proxy_authentication_info_t *sip_proxy_authentication_info_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_proxy_authentication_info_class, fmt, ap);
va_end(ap);
return (sip_proxy_authentication_info_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_proxy_authorization_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_proxy_authorization_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_proxy_authorization(sip) \
((sip_proxy_authorization_t *)msg_header_access((msg_pub_t*)(sip), sip_proxy_authorization_class))
#define SIP_PROXY_AUTHORIZATION_INIT() SIP_HDR_INIT(proxy_authorization)
#if SU_HAVE_INLINE
su_inline sip_proxy_authorization_t *sip_proxy_authorization_init(sip_proxy_authorization_t x[1])
{
return SIP_HEADER_INIT(x, sip_proxy_authorization_class, sizeof(sip_proxy_authorization_t));
}
#else
#define sip_proxy_authorization_init(x) \
SIP_HEADER_INIT(x, sip_proxy_authorization_class, sizeof(sip_proxy_authorization_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_proxy_authorization(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_proxy_authorization_hash;
}
#else
int sip_is_proxy_authorization(sip_header_t const *header);
#endif
#define sip_proxy_authorization_p(h) sip_is_proxy_authorization((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_proxy_authorization_t *sip_proxy_authorization_dup(su_home_t *home, sip_proxy_authorization_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_proxy_authorization_t *sip_proxy_authorization_dup(su_home_t *home, sip_proxy_authorization_t const *hdr)
{
return (sip_proxy_authorization_t *)
msg_header_dup_as(home, sip_proxy_authorization_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_proxy_authorization_t *sip_proxy_authorization_copy(su_home_t *home, sip_proxy_authorization_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_proxy_authorization_t *sip_proxy_authorization_copy(su_home_t *home, sip_proxy_authorization_t const *hdr)
{
return (sip_proxy_authorization_t *)
msg_header_copy_as(home, sip_proxy_authorization_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_proxy_authorization_t *sip_proxy_authorization_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_proxy_authorization_t *sip_proxy_authorization_make(su_home_t *home, char const *s)
{
return (sip_proxy_authorization_t *)sip_header_make(home, sip_proxy_authorization_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_proxy_authorization_t *sip_proxy_authorization_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_proxy_authorization_t *sip_proxy_authorization_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_proxy_authorization_class, fmt, ap);
va_end(ap);
return (sip_proxy_authorization_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_authorization_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_authorization_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_authorization(sip) \
((sip_authorization_t *)msg_header_access((msg_pub_t*)(sip), sip_authorization_class))
#define SIP_AUTHORIZATION_INIT() SIP_HDR_INIT(authorization)
#if SU_HAVE_INLINE
su_inline sip_authorization_t *sip_authorization_init(sip_authorization_t x[1])
{
return SIP_HEADER_INIT(x, sip_authorization_class, sizeof(sip_authorization_t));
}
#else
#define sip_authorization_init(x) \
SIP_HEADER_INIT(x, sip_authorization_class, sizeof(sip_authorization_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_authorization(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_authorization_hash;
}
#else
int sip_is_authorization(sip_header_t const *header);
#endif
#define sip_authorization_p(h) sip_is_authorization((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_authorization_t *sip_authorization_dup(su_home_t *home, sip_authorization_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_authorization_t *sip_authorization_dup(su_home_t *home, sip_authorization_t const *hdr)
{
return (sip_authorization_t *)
msg_header_dup_as(home, sip_authorization_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_authorization_t *sip_authorization_copy(su_home_t *home, sip_authorization_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_authorization_t *sip_authorization_copy(su_home_t *home, sip_authorization_t const *hdr)
{
return (sip_authorization_t *)
msg_header_copy_as(home, sip_authorization_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_authorization_t *sip_authorization_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_authorization_t *sip_authorization_make(su_home_t *home, char const *s)
{
return (sip_authorization_t *)sip_header_make(home, sip_authorization_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_authorization_t *sip_authorization_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_authorization_t *sip_authorization_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_authorization_class, fmt, ap);
va_end(ap);
return (sip_authorization_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_www_authenticate_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_www_authenticate_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_www_authenticate(sip) \
((sip_www_authenticate_t *)msg_header_access((msg_pub_t*)(sip), sip_www_authenticate_class))
#define SIP_WWW_AUTHENTICATE_INIT() SIP_HDR_INIT(www_authenticate)
#if SU_HAVE_INLINE
su_inline sip_www_authenticate_t *sip_www_authenticate_init(sip_www_authenticate_t x[1])
{
return SIP_HEADER_INIT(x, sip_www_authenticate_class, sizeof(sip_www_authenticate_t));
}
#else
#define sip_www_authenticate_init(x) \
SIP_HEADER_INIT(x, sip_www_authenticate_class, sizeof(sip_www_authenticate_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_www_authenticate(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_www_authenticate_hash;
}
#else
int sip_is_www_authenticate(sip_header_t const *header);
#endif
#define sip_www_authenticate_p(h) sip_is_www_authenticate((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_www_authenticate_t *sip_www_authenticate_dup(su_home_t *home, sip_www_authenticate_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_www_authenticate_t *sip_www_authenticate_dup(su_home_t *home, sip_www_authenticate_t const *hdr)
{
return (sip_www_authenticate_t *)
msg_header_dup_as(home, sip_www_authenticate_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_www_authenticate_t *sip_www_authenticate_copy(su_home_t *home, sip_www_authenticate_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_www_authenticate_t *sip_www_authenticate_copy(su_home_t *home, sip_www_authenticate_t const *hdr)
{
return (sip_www_authenticate_t *)
msg_header_copy_as(home, sip_www_authenticate_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_www_authenticate_t *sip_www_authenticate_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_www_authenticate_t *sip_www_authenticate_make(su_home_t *home, char const *s)
{
return (sip_www_authenticate_t *)sip_header_make(home, sip_www_authenticate_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_www_authenticate_t *sip_www_authenticate_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_www_authenticate_t *sip_www_authenticate_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_www_authenticate_class, fmt, ap);
va_end(ap);
return (sip_www_authenticate_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_authentication_info_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_authentication_info_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_authentication_info(sip) \
((sip_authentication_info_t *)msg_header_access((msg_pub_t*)(sip), sip_authentication_info_class))
#define SIP_AUTHENTICATION_INFO_INIT() SIP_HDR_INIT(authentication_info)
#if SU_HAVE_INLINE
su_inline sip_authentication_info_t *sip_authentication_info_init(sip_authentication_info_t x[1])
{
return SIP_HEADER_INIT(x, sip_authentication_info_class, sizeof(sip_authentication_info_t));
}
#else
#define sip_authentication_info_init(x) \
SIP_HEADER_INIT(x, sip_authentication_info_class, sizeof(sip_authentication_info_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_authentication_info(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_authentication_info_hash;
}
#else
int sip_is_authentication_info(sip_header_t const *header);
#endif
#define sip_authentication_info_p(h) sip_is_authentication_info((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_authentication_info_t *sip_authentication_info_dup(su_home_t *home, sip_authentication_info_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_authentication_info_t *sip_authentication_info_dup(su_home_t *home, sip_authentication_info_t const *hdr)
{
return (sip_authentication_info_t *)
msg_header_dup_as(home, sip_authentication_info_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_authentication_info_t *sip_authentication_info_copy(su_home_t *home, sip_authentication_info_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_authentication_info_t *sip_authentication_info_copy(su_home_t *home, sip_authentication_info_t const *hdr)
{
return (sip_authentication_info_t *)
msg_header_copy_as(home, sip_authentication_info_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_authentication_info_t *sip_authentication_info_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_authentication_info_t *sip_authentication_info_make(su_home_t *home, char const *s)
{
return (sip_authentication_info_t *)sip_header_make(home, sip_authentication_info_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_authentication_info_t *sip_authentication_info_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_authentication_info_t *sip_authentication_info_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_authentication_info_class, fmt, ap);
va_end(ap);
return (sip_authentication_info_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_error_info_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_error_info_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_error_info(sip) \
((sip_error_info_t *)msg_header_access((msg_pub_t*)(sip), sip_error_info_class))
#define SIP_ERROR_INFO_INIT() SIP_HDR_INIT(error_info)
#if SU_HAVE_INLINE
su_inline sip_error_info_t *sip_error_info_init(sip_error_info_t x[1])
{
return SIP_HEADER_INIT(x, sip_error_info_class, sizeof(sip_error_info_t));
}
#else
#define sip_error_info_init(x) \
SIP_HEADER_INIT(x, sip_error_info_class, sizeof(sip_error_info_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_error_info(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_error_info_hash;
}
#else
int sip_is_error_info(sip_header_t const *header);
#endif
#define sip_error_info_p(h) sip_is_error_info((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_error_info_t *sip_error_info_dup(su_home_t *home, sip_error_info_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_error_info_t *sip_error_info_dup(su_home_t *home, sip_error_info_t const *hdr)
{
return (sip_error_info_t *)
msg_header_dup_as(home, sip_error_info_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_error_info_t *sip_error_info_copy(su_home_t *home, sip_error_info_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_error_info_t *sip_error_info_copy(su_home_t *home, sip_error_info_t const *hdr)
{
return (sip_error_info_t *)
msg_header_copy_as(home, sip_error_info_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_error_info_t *sip_error_info_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_error_info_t *sip_error_info_make(su_home_t *home, char const *s)
{
return (sip_error_info_t *)sip_header_make(home, sip_error_info_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_error_info_t *sip_error_info_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_error_info_t *sip_error_info_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_error_info_class, fmt, ap);
va_end(ap);
return (sip_error_info_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_warning_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_warning_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_warning(sip) \
((sip_warning_t *)msg_header_access((msg_pub_t*)(sip), sip_warning_class))
#define SIP_WARNING_INIT() SIP_HDR_INIT(warning)
#if SU_HAVE_INLINE
su_inline sip_warning_t *sip_warning_init(sip_warning_t x[1])
{
return SIP_HEADER_INIT(x, sip_warning_class, sizeof(sip_warning_t));
}
#else
#define sip_warning_init(x) \
SIP_HEADER_INIT(x, sip_warning_class, sizeof(sip_warning_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_warning(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_warning_hash;
}
#else
int sip_is_warning(sip_header_t const *header);
#endif
#define sip_warning_p(h) sip_is_warning((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_warning_t *sip_warning_dup(su_home_t *home, sip_warning_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_warning_t *sip_warning_dup(su_home_t *home, sip_warning_t const *hdr)
{
return (sip_warning_t *)
msg_header_dup_as(home, sip_warning_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_warning_t *sip_warning_copy(su_home_t *home, sip_warning_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_warning_t *sip_warning_copy(su_home_t *home, sip_warning_t const *hdr)
{
return (sip_warning_t *)
msg_header_copy_as(home, sip_warning_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_warning_t *sip_warning_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_warning_t *sip_warning_make(su_home_t *home, char const *s)
{
return (sip_warning_t *)sip_header_make(home, sip_warning_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_warning_t *sip_warning_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_warning_t *sip_warning_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_warning_class, fmt, ap);
va_end(ap);
return (sip_warning_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_refer_to_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_refer_to_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_refer_to(sip) \
((sip_refer_to_t *)msg_header_access((msg_pub_t*)(sip), sip_refer_to_class))
#define SIP_REFER_TO_INIT() SIP_HDR_INIT(refer_to)
#if SU_HAVE_INLINE
su_inline sip_refer_to_t *sip_refer_to_init(sip_refer_to_t x[1])
{
return SIP_HEADER_INIT(x, sip_refer_to_class, sizeof(sip_refer_to_t));
}
#else
#define sip_refer_to_init(x) \
SIP_HEADER_INIT(x, sip_refer_to_class, sizeof(sip_refer_to_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_refer_to(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_refer_to_hash;
}
#else
int sip_is_refer_to(sip_header_t const *header);
#endif
#define sip_refer_to_p(h) sip_is_refer_to((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_refer_to_t *sip_refer_to_dup(su_home_t *home, sip_refer_to_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_refer_to_t *sip_refer_to_dup(su_home_t *home, sip_refer_to_t const *hdr)
{
return (sip_refer_to_t *)
msg_header_dup_as(home, sip_refer_to_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_refer_to_t *sip_refer_to_copy(su_home_t *home, sip_refer_to_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_refer_to_t *sip_refer_to_copy(su_home_t *home, sip_refer_to_t const *hdr)
{
return (sip_refer_to_t *)
msg_header_copy_as(home, sip_refer_to_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_refer_to_t *sip_refer_to_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_refer_to_t *sip_refer_to_make(su_home_t *home, char const *s)
{
return (sip_refer_to_t *)sip_header_make(home, sip_refer_to_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_refer_to_t *sip_refer_to_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_refer_to_t *sip_refer_to_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_refer_to_class, fmt, ap);
va_end(ap);
return (sip_refer_to_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_referred_by_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_referred_by_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_referred_by(sip) \
((sip_referred_by_t *)msg_header_access((msg_pub_t*)(sip), sip_referred_by_class))
#define SIP_REFERRED_BY_INIT() SIP_HDR_INIT(referred_by)
#if SU_HAVE_INLINE
su_inline sip_referred_by_t *sip_referred_by_init(sip_referred_by_t x[1])
{
return SIP_HEADER_INIT(x, sip_referred_by_class, sizeof(sip_referred_by_t));
}
#else
#define sip_referred_by_init(x) \
SIP_HEADER_INIT(x, sip_referred_by_class, sizeof(sip_referred_by_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_referred_by(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_referred_by_hash;
}
#else
int sip_is_referred_by(sip_header_t const *header);
#endif
#define sip_referred_by_p(h) sip_is_referred_by((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_referred_by_t *sip_referred_by_dup(su_home_t *home, sip_referred_by_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_referred_by_t *sip_referred_by_dup(su_home_t *home, sip_referred_by_t const *hdr)
{
return (sip_referred_by_t *)
msg_header_dup_as(home, sip_referred_by_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_referred_by_t *sip_referred_by_copy(su_home_t *home, sip_referred_by_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_referred_by_t *sip_referred_by_copy(su_home_t *home, sip_referred_by_t const *hdr)
{
return (sip_referred_by_t *)
msg_header_copy_as(home, sip_referred_by_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_referred_by_t *sip_referred_by_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_referred_by_t *sip_referred_by_make(su_home_t *home, char const *s)
{
return (sip_referred_by_t *)sip_header_make(home, sip_referred_by_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_referred_by_t *sip_referred_by_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_referred_by_t *sip_referred_by_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_referred_by_class, fmt, ap);
va_end(ap);
return (sip_referred_by_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_replaces_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_replaces_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_replaces(sip) \
((sip_replaces_t *)msg_header_access((msg_pub_t*)(sip), sip_replaces_class))
#define SIP_REPLACES_INIT() SIP_HDR_INIT(replaces)
#if SU_HAVE_INLINE
su_inline sip_replaces_t *sip_replaces_init(sip_replaces_t x[1])
{
return SIP_HEADER_INIT(x, sip_replaces_class, sizeof(sip_replaces_t));
}
#else
#define sip_replaces_init(x) \
SIP_HEADER_INIT(x, sip_replaces_class, sizeof(sip_replaces_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_replaces(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_replaces_hash;
}
#else
int sip_is_replaces(sip_header_t const *header);
#endif
#define sip_replaces_p(h) sip_is_replaces((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_replaces_t *sip_replaces_dup(su_home_t *home, sip_replaces_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_replaces_t *sip_replaces_dup(su_home_t *home, sip_replaces_t const *hdr)
{
return (sip_replaces_t *)
msg_header_dup_as(home, sip_replaces_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_replaces_t *sip_replaces_copy(su_home_t *home, sip_replaces_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_replaces_t *sip_replaces_copy(su_home_t *home, sip_replaces_t const *hdr)
{
return (sip_replaces_t *)
msg_header_copy_as(home, sip_replaces_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_replaces_t *sip_replaces_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_replaces_t *sip_replaces_make(su_home_t *home, char const *s)
{
return (sip_replaces_t *)sip_header_make(home, sip_replaces_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_replaces_t *sip_replaces_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_replaces_t *sip_replaces_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_replaces_class, fmt, ap);
va_end(ap);
return (sip_replaces_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_session_expires_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_session_expires_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_session_expires(sip) \
((sip_session_expires_t *)msg_header_access((msg_pub_t*)(sip), sip_session_expires_class))
#define SIP_SESSION_EXPIRES_INIT() SIP_HDR_INIT(session_expires)
#if SU_HAVE_INLINE
su_inline sip_session_expires_t *sip_session_expires_init(sip_session_expires_t x[1])
{
return SIP_HEADER_INIT(x, sip_session_expires_class, sizeof(sip_session_expires_t));
}
#else
#define sip_session_expires_init(x) \
SIP_HEADER_INIT(x, sip_session_expires_class, sizeof(sip_session_expires_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_session_expires(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_session_expires_hash;
}
#else
int sip_is_session_expires(sip_header_t const *header);
#endif
#define sip_session_expires_p(h) sip_is_session_expires((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_session_expires_t *sip_session_expires_dup(su_home_t *home, sip_session_expires_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_session_expires_t *sip_session_expires_dup(su_home_t *home, sip_session_expires_t const *hdr)
{
return (sip_session_expires_t *)
msg_header_dup_as(home, sip_session_expires_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_session_expires_t *sip_session_expires_copy(su_home_t *home, sip_session_expires_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_session_expires_t *sip_session_expires_copy(su_home_t *home, sip_session_expires_t const *hdr)
{
return (sip_session_expires_t *)
msg_header_copy_as(home, sip_session_expires_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_session_expires_t *sip_session_expires_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_session_expires_t *sip_session_expires_make(su_home_t *home, char const *s)
{
return (sip_session_expires_t *)sip_header_make(home, sip_session_expires_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_session_expires_t *sip_session_expires_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_session_expires_t *sip_session_expires_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_session_expires_class, fmt, ap);
va_end(ap);
return (sip_session_expires_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_min_se_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_min_se_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_min_se(sip) \
((sip_min_se_t *)msg_header_access((msg_pub_t*)(sip), sip_min_se_class))
#define SIP_MIN_SE_INIT() SIP_HDR_INIT(min_se)
#if SU_HAVE_INLINE
su_inline sip_min_se_t *sip_min_se_init(sip_min_se_t x[1])
{
return SIP_HEADER_INIT(x, sip_min_se_class, sizeof(sip_min_se_t));
}
#else
#define sip_min_se_init(x) \
SIP_HEADER_INIT(x, sip_min_se_class, sizeof(sip_min_se_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_min_se(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_min_se_hash;
}
#else
int sip_is_min_se(sip_header_t const *header);
#endif
#define sip_min_se_p(h) sip_is_min_se((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_min_se_t *sip_min_se_dup(su_home_t *home, sip_min_se_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_min_se_t *sip_min_se_dup(su_home_t *home, sip_min_se_t const *hdr)
{
return (sip_min_se_t *)
msg_header_dup_as(home, sip_min_se_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_min_se_t *sip_min_se_copy(su_home_t *home, sip_min_se_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_min_se_t *sip_min_se_copy(su_home_t *home, sip_min_se_t const *hdr)
{
return (sip_min_se_t *)
msg_header_copy_as(home, sip_min_se_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_min_se_t *sip_min_se_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_min_se_t *sip_min_se_make(su_home_t *home, char const *s)
{
return (sip_min_se_t *)sip_header_make(home, sip_min_se_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_min_se_t *sip_min_se_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_min_se_t *sip_min_se_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_min_se_class, fmt, ap);
va_end(ap);
return (sip_min_se_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_path_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_path_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_path(sip) \
((sip_path_t *)msg_header_access((msg_pub_t*)(sip), sip_path_class))
#define SIP_PATH_INIT() SIP_HDR_INIT(path)
#if SU_HAVE_INLINE
su_inline sip_path_t *sip_path_init(sip_path_t x[1])
{
return SIP_HEADER_INIT(x, sip_path_class, sizeof(sip_path_t));
}
#else
#define sip_path_init(x) \
SIP_HEADER_INIT(x, sip_path_class, sizeof(sip_path_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_path(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_path_hash;
}
#else
int sip_is_path(sip_header_t const *header);
#endif
#define sip_path_p(h) sip_is_path((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_path_t *sip_path_dup(su_home_t *home, sip_path_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_path_t *sip_path_dup(su_home_t *home, sip_path_t const *hdr)
{
return (sip_path_t *)
msg_header_dup_as(home, sip_path_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_path_t *sip_path_copy(su_home_t *home, sip_path_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_path_t *sip_path_copy(su_home_t *home, sip_path_t const *hdr)
{
return (sip_path_t *)
msg_header_copy_as(home, sip_path_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_path_t *sip_path_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_path_t *sip_path_make(su_home_t *home, char const *s)
{
return (sip_path_t *)sip_header_make(home, sip_path_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_path_t *sip_path_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_path_t *sip_path_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_path_class, fmt, ap);
va_end(ap);
return (sip_path_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_service_route_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_service_route_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_service_route(sip) \
((sip_service_route_t *)msg_header_access((msg_pub_t*)(sip), sip_service_route_class))
#define SIP_SERVICE_ROUTE_INIT() SIP_HDR_INIT(service_route)
#if SU_HAVE_INLINE
su_inline sip_service_route_t *sip_service_route_init(sip_service_route_t x[1])
{
return SIP_HEADER_INIT(x, sip_service_route_class, sizeof(sip_service_route_t));
}
#else
#define sip_service_route_init(x) \
SIP_HEADER_INIT(x, sip_service_route_class, sizeof(sip_service_route_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_service_route(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_service_route_hash;
}
#else
int sip_is_service_route(sip_header_t const *header);
#endif
#define sip_service_route_p(h) sip_is_service_route((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_service_route_t *sip_service_route_dup(su_home_t *home, sip_service_route_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_service_route_t *sip_service_route_dup(su_home_t *home, sip_service_route_t const *hdr)
{
return (sip_service_route_t *)
msg_header_dup_as(home, sip_service_route_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_service_route_t *sip_service_route_copy(su_home_t *home, sip_service_route_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_service_route_t *sip_service_route_copy(su_home_t *home, sip_service_route_t const *hdr)
{
return (sip_service_route_t *)
msg_header_copy_as(home, sip_service_route_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_service_route_t *sip_service_route_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_service_route_t *sip_service_route_make(su_home_t *home, char const *s)
{
return (sip_service_route_t *)sip_header_make(home, sip_service_route_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_service_route_t *sip_service_route_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_service_route_t *sip_service_route_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_service_route_class, fmt, ap);
va_end(ap);
return (sip_service_route_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_reason_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_reason_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_reason(sip) \
((sip_reason_t *)msg_header_access((msg_pub_t*)(sip), sip_reason_class))
#define SIP_REASON_INIT() SIP_HDR_INIT(reason)
#if SU_HAVE_INLINE
su_inline sip_reason_t *sip_reason_init(sip_reason_t x[1])
{
return SIP_HEADER_INIT(x, sip_reason_class, sizeof(sip_reason_t));
}
#else
#define sip_reason_init(x) \
SIP_HEADER_INIT(x, sip_reason_class, sizeof(sip_reason_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_reason(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_reason_hash;
}
#else
int sip_is_reason(sip_header_t const *header);
#endif
#define sip_reason_p(h) sip_is_reason((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_reason_t *sip_reason_dup(su_home_t *home, sip_reason_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_reason_t *sip_reason_dup(su_home_t *home, sip_reason_t const *hdr)
{
return (sip_reason_t *)
msg_header_dup_as(home, sip_reason_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_reason_t *sip_reason_copy(su_home_t *home, sip_reason_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_reason_t *sip_reason_copy(su_home_t *home, sip_reason_t const *hdr)
{
return (sip_reason_t *)
msg_header_copy_as(home, sip_reason_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_reason_t *sip_reason_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_reason_t *sip_reason_make(su_home_t *home, char const *s)
{
return (sip_reason_t *)sip_header_make(home, sip_reason_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_reason_t *sip_reason_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_reason_t *sip_reason_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_reason_class, fmt, ap);
va_end(ap);
return (sip_reason_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_security_client_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_security_client_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_security_client(sip) \
((sip_security_client_t *)msg_header_access((msg_pub_t*)(sip), sip_security_client_class))
#define SIP_SECURITY_CLIENT_INIT() SIP_HDR_INIT(security_client)
#if SU_HAVE_INLINE
su_inline sip_security_client_t *sip_security_client_init(sip_security_client_t x[1])
{
return SIP_HEADER_INIT(x, sip_security_client_class, sizeof(sip_security_client_t));
}
#else
#define sip_security_client_init(x) \
SIP_HEADER_INIT(x, sip_security_client_class, sizeof(sip_security_client_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_security_client(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_security_client_hash;
}
#else
int sip_is_security_client(sip_header_t const *header);
#endif
#define sip_security_client_p(h) sip_is_security_client((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_security_client_t *sip_security_client_dup(su_home_t *home, sip_security_client_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_security_client_t *sip_security_client_dup(su_home_t *home, sip_security_client_t const *hdr)
{
return (sip_security_client_t *)
msg_header_dup_as(home, sip_security_client_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_security_client_t *sip_security_client_copy(su_home_t *home, sip_security_client_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_security_client_t *sip_security_client_copy(su_home_t *home, sip_security_client_t const *hdr)
{
return (sip_security_client_t *)
msg_header_copy_as(home, sip_security_client_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_security_client_t *sip_security_client_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_security_client_t *sip_security_client_make(su_home_t *home, char const *s)
{
return (sip_security_client_t *)sip_header_make(home, sip_security_client_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_security_client_t *sip_security_client_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_security_client_t *sip_security_client_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_security_client_class, fmt, ap);
va_end(ap);
return (sip_security_client_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_security_server_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_security_server_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_security_server(sip) \
((sip_security_server_t *)msg_header_access((msg_pub_t*)(sip), sip_security_server_class))
#define SIP_SECURITY_SERVER_INIT() SIP_HDR_INIT(security_server)
#if SU_HAVE_INLINE
su_inline sip_security_server_t *sip_security_server_init(sip_security_server_t x[1])
{
return SIP_HEADER_INIT(x, sip_security_server_class, sizeof(sip_security_server_t));
}
#else
#define sip_security_server_init(x) \
SIP_HEADER_INIT(x, sip_security_server_class, sizeof(sip_security_server_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_security_server(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_security_server_hash;
}
#else
int sip_is_security_server(sip_header_t const *header);
#endif
#define sip_security_server_p(h) sip_is_security_server((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_security_server_t *sip_security_server_dup(su_home_t *home, sip_security_server_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_security_server_t *sip_security_server_dup(su_home_t *home, sip_security_server_t const *hdr)
{
return (sip_security_server_t *)
msg_header_dup_as(home, sip_security_server_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_security_server_t *sip_security_server_copy(su_home_t *home, sip_security_server_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_security_server_t *sip_security_server_copy(su_home_t *home, sip_security_server_t const *hdr)
{
return (sip_security_server_t *)
msg_header_copy_as(home, sip_security_server_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_security_server_t *sip_security_server_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_security_server_t *sip_security_server_make(su_home_t *home, char const *s)
{
return (sip_security_server_t *)sip_header_make(home, sip_security_server_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_security_server_t *sip_security_server_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_security_server_t *sip_security_server_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_security_server_class, fmt, ap);
va_end(ap);
return (sip_security_server_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_security_verify_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_security_verify_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_security_verify(sip) \
((sip_security_verify_t *)msg_header_access((msg_pub_t*)(sip), sip_security_verify_class))
#define SIP_SECURITY_VERIFY_INIT() SIP_HDR_INIT(security_verify)
#if SU_HAVE_INLINE
su_inline sip_security_verify_t *sip_security_verify_init(sip_security_verify_t x[1])
{
return SIP_HEADER_INIT(x, sip_security_verify_class, sizeof(sip_security_verify_t));
}
#else
#define sip_security_verify_init(x) \
SIP_HEADER_INIT(x, sip_security_verify_class, sizeof(sip_security_verify_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_security_verify(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_security_verify_hash;
}
#else
int sip_is_security_verify(sip_header_t const *header);
#endif
#define sip_security_verify_p(h) sip_is_security_verify((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_security_verify_t *sip_security_verify_dup(su_home_t *home, sip_security_verify_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_security_verify_t *sip_security_verify_dup(su_home_t *home, sip_security_verify_t const *hdr)
{
return (sip_security_verify_t *)
msg_header_dup_as(home, sip_security_verify_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_security_verify_t *sip_security_verify_copy(su_home_t *home, sip_security_verify_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_security_verify_t *sip_security_verify_copy(su_home_t *home, sip_security_verify_t const *hdr)
{
return (sip_security_verify_t *)
msg_header_copy_as(home, sip_security_verify_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_security_verify_t *sip_security_verify_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_security_verify_t *sip_security_verify_make(su_home_t *home, char const *s)
{
return (sip_security_verify_t *)sip_header_make(home, sip_security_verify_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_security_verify_t *sip_security_verify_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_security_verify_t *sip_security_verify_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_security_verify_class, fmt, ap);
va_end(ap);
return (sip_security_verify_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_privacy_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_privacy_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_privacy(sip) \
((sip_privacy_t *)msg_header_access((msg_pub_t*)(sip), sip_privacy_class))
#define SIP_PRIVACY_INIT() SIP_HDR_INIT(privacy)
#if SU_HAVE_INLINE
su_inline sip_privacy_t *sip_privacy_init(sip_privacy_t x[1])
{
return SIP_HEADER_INIT(x, sip_privacy_class, sizeof(sip_privacy_t));
}
#else
#define sip_privacy_init(x) \
SIP_HEADER_INIT(x, sip_privacy_class, sizeof(sip_privacy_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_privacy(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_privacy_hash;
}
#else
int sip_is_privacy(sip_header_t const *header);
#endif
#define sip_privacy_p(h) sip_is_privacy((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_privacy_t *sip_privacy_dup(su_home_t *home, sip_privacy_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_privacy_t *sip_privacy_dup(su_home_t *home, sip_privacy_t const *hdr)
{
return (sip_privacy_t *)
msg_header_dup_as(home, sip_privacy_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_privacy_t *sip_privacy_copy(su_home_t *home, sip_privacy_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_privacy_t *sip_privacy_copy(su_home_t *home, sip_privacy_t const *hdr)
{
return (sip_privacy_t *)
msg_header_copy_as(home, sip_privacy_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_privacy_t *sip_privacy_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_privacy_t *sip_privacy_make(su_home_t *home, char const *s)
{
return (sip_privacy_t *)sip_header_make(home, sip_privacy_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_privacy_t *sip_privacy_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_privacy_t *sip_privacy_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_privacy_class, fmt, ap);
va_end(ap);
return (sip_privacy_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_etag_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_etag_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_etag(sip) \
((sip_etag_t *)msg_header_access((msg_pub_t*)(sip), sip_etag_class))
#define SIP_ETAG_INIT() SIP_HDR_INIT(etag)
#if SU_HAVE_INLINE
su_inline sip_etag_t *sip_etag_init(sip_etag_t x[1])
{
return SIP_HEADER_INIT(x, sip_etag_class, sizeof(sip_etag_t));
}
#else
#define sip_etag_init(x) \
SIP_HEADER_INIT(x, sip_etag_class, sizeof(sip_etag_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_etag(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_etag_hash;
}
#else
int sip_is_etag(sip_header_t const *header);
#endif
#define sip_etag_p(h) sip_is_etag((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_etag_t *sip_etag_dup(su_home_t *home, sip_etag_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_etag_t *sip_etag_dup(su_home_t *home, sip_etag_t const *hdr)
{
return (sip_etag_t *)
msg_header_dup_as(home, sip_etag_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_etag_t *sip_etag_copy(su_home_t *home, sip_etag_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_etag_t *sip_etag_copy(su_home_t *home, sip_etag_t const *hdr)
{
return (sip_etag_t *)
msg_header_copy_as(home, sip_etag_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_etag_t *sip_etag_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_etag_t *sip_etag_make(su_home_t *home, char const *s)
{
return (sip_etag_t *)sip_header_make(home, sip_etag_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_etag_t *sip_etag_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_etag_t *sip_etag_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_etag_class, fmt, ap);
va_end(ap);
return (sip_etag_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_if_match_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_if_match_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_if_match(sip) \
((sip_if_match_t *)msg_header_access((msg_pub_t*)(sip), sip_if_match_class))
#define SIP_IF_MATCH_INIT() SIP_HDR_INIT(if_match)
#if SU_HAVE_INLINE
su_inline sip_if_match_t *sip_if_match_init(sip_if_match_t x[1])
{
return SIP_HEADER_INIT(x, sip_if_match_class, sizeof(sip_if_match_t));
}
#else
#define sip_if_match_init(x) \
SIP_HEADER_INIT(x, sip_if_match_class, sizeof(sip_if_match_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_if_match(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_if_match_hash;
}
#else
int sip_is_if_match(sip_header_t const *header);
#endif
#define sip_if_match_p(h) sip_is_if_match((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_if_match_t *sip_if_match_dup(su_home_t *home, sip_if_match_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_if_match_t *sip_if_match_dup(su_home_t *home, sip_if_match_t const *hdr)
{
return (sip_if_match_t *)
msg_header_dup_as(home, sip_if_match_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_if_match_t *sip_if_match_copy(su_home_t *home, sip_if_match_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_if_match_t *sip_if_match_copy(su_home_t *home, sip_if_match_t const *hdr)
{
return (sip_if_match_t *)
msg_header_copy_as(home, sip_if_match_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_if_match_t *sip_if_match_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_if_match_t *sip_if_match_make(su_home_t *home, char const *s)
{
return (sip_if_match_t *)sip_header_make(home, sip_if_match_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_if_match_t *sip_if_match_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_if_match_t *sip_if_match_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_if_match_class, fmt, ap);
va_end(ap);
return (sip_if_match_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_mime_version_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_mime_version_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_mime_version(sip) \
((sip_mime_version_t *)msg_header_access((msg_pub_t*)(sip), sip_mime_version_class))
#define SIP_MIME_VERSION_INIT() SIP_HDR_INIT(mime_version)
#if SU_HAVE_INLINE
su_inline sip_mime_version_t *sip_mime_version_init(sip_mime_version_t x[1])
{
return SIP_HEADER_INIT(x, sip_mime_version_class, sizeof(sip_mime_version_t));
}
#else
#define sip_mime_version_init(x) \
SIP_HEADER_INIT(x, sip_mime_version_class, sizeof(sip_mime_version_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_mime_version(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_mime_version_hash;
}
#else
int sip_is_mime_version(sip_header_t const *header);
#endif
#define sip_mime_version_p(h) sip_is_mime_version((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_mime_version_t *sip_mime_version_dup(su_home_t *home, sip_mime_version_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_mime_version_t *sip_mime_version_dup(su_home_t *home, sip_mime_version_t const *hdr)
{
return (sip_mime_version_t *)
msg_header_dup_as(home, sip_mime_version_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_mime_version_t *sip_mime_version_copy(su_home_t *home, sip_mime_version_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_mime_version_t *sip_mime_version_copy(su_home_t *home, sip_mime_version_t const *hdr)
{
return (sip_mime_version_t *)
msg_header_copy_as(home, sip_mime_version_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_mime_version_t *sip_mime_version_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_mime_version_t *sip_mime_version_make(su_home_t *home, char const *s)
{
return (sip_mime_version_t *)sip_header_make(home, sip_mime_version_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_mime_version_t *sip_mime_version_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_mime_version_t *sip_mime_version_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_mime_version_class, fmt, ap);
va_end(ap);
return (sip_mime_version_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_content_type_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_content_type_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_content_type(sip) \
((sip_content_type_t *)msg_header_access((msg_pub_t*)(sip), sip_content_type_class))
#define SIP_CONTENT_TYPE_INIT() SIP_HDR_INIT(content_type)
#if SU_HAVE_INLINE
su_inline sip_content_type_t *sip_content_type_init(sip_content_type_t x[1])
{
return SIP_HEADER_INIT(x, sip_content_type_class, sizeof(sip_content_type_t));
}
#else
#define sip_content_type_init(x) \
SIP_HEADER_INIT(x, sip_content_type_class, sizeof(sip_content_type_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_content_type(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_content_type_hash;
}
#else
int sip_is_content_type(sip_header_t const *header);
#endif
#define sip_content_type_p(h) sip_is_content_type((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_content_type_t *sip_content_type_dup(su_home_t *home, sip_content_type_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_content_type_t *sip_content_type_dup(su_home_t *home, sip_content_type_t const *hdr)
{
return (sip_content_type_t *)
msg_header_dup_as(home, sip_content_type_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_content_type_t *sip_content_type_copy(su_home_t *home, sip_content_type_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_content_type_t *sip_content_type_copy(su_home_t *home, sip_content_type_t const *hdr)
{
return (sip_content_type_t *)
msg_header_copy_as(home, sip_content_type_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_content_type_t *sip_content_type_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_content_type_t *sip_content_type_make(su_home_t *home, char const *s)
{
return (sip_content_type_t *)sip_header_make(home, sip_content_type_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_content_type_t *sip_content_type_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_content_type_t *sip_content_type_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_content_type_class, fmt, ap);
va_end(ap);
return (sip_content_type_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_content_encoding_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_content_encoding_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_content_encoding(sip) \
((sip_content_encoding_t *)msg_header_access((msg_pub_t*)(sip), sip_content_encoding_class))
#define SIP_CONTENT_ENCODING_INIT() SIP_HDR_INIT(content_encoding)
#if SU_HAVE_INLINE
su_inline sip_content_encoding_t *sip_content_encoding_init(sip_content_encoding_t x[1])
{
return SIP_HEADER_INIT(x, sip_content_encoding_class, sizeof(sip_content_encoding_t));
}
#else
#define sip_content_encoding_init(x) \
SIP_HEADER_INIT(x, sip_content_encoding_class, sizeof(sip_content_encoding_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_content_encoding(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_content_encoding_hash;
}
#else
int sip_is_content_encoding(sip_header_t const *header);
#endif
#define sip_content_encoding_p(h) sip_is_content_encoding((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_content_encoding_t *sip_content_encoding_dup(su_home_t *home, sip_content_encoding_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_content_encoding_t *sip_content_encoding_dup(su_home_t *home, sip_content_encoding_t const *hdr)
{
return (sip_content_encoding_t *)
msg_header_dup_as(home, sip_content_encoding_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_content_encoding_t *sip_content_encoding_copy(su_home_t *home, sip_content_encoding_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_content_encoding_t *sip_content_encoding_copy(su_home_t *home, sip_content_encoding_t const *hdr)
{
return (sip_content_encoding_t *)
msg_header_copy_as(home, sip_content_encoding_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_content_encoding_t *sip_content_encoding_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_content_encoding_t *sip_content_encoding_make(su_home_t *home, char const *s)
{
return (sip_content_encoding_t *)sip_header_make(home, sip_content_encoding_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_content_encoding_t *sip_content_encoding_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_content_encoding_t *sip_content_encoding_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_content_encoding_class, fmt, ap);
va_end(ap);
return (sip_content_encoding_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_content_language_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_content_language_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_content_language(sip) \
((sip_content_language_t *)msg_header_access((msg_pub_t*)(sip), sip_content_language_class))
#define SIP_CONTENT_LANGUAGE_INIT() SIP_HDR_INIT(content_language)
#if SU_HAVE_INLINE
su_inline sip_content_language_t *sip_content_language_init(sip_content_language_t x[1])
{
return SIP_HEADER_INIT(x, sip_content_language_class, sizeof(sip_content_language_t));
}
#else
#define sip_content_language_init(x) \
SIP_HEADER_INIT(x, sip_content_language_class, sizeof(sip_content_language_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_content_language(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_content_language_hash;
}
#else
int sip_is_content_language(sip_header_t const *header);
#endif
#define sip_content_language_p(h) sip_is_content_language((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_content_language_t *sip_content_language_dup(su_home_t *home, sip_content_language_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_content_language_t *sip_content_language_dup(su_home_t *home, sip_content_language_t const *hdr)
{
return (sip_content_language_t *)
msg_header_dup_as(home, sip_content_language_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_content_language_t *sip_content_language_copy(su_home_t *home, sip_content_language_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_content_language_t *sip_content_language_copy(su_home_t *home, sip_content_language_t const *hdr)
{
return (sip_content_language_t *)
msg_header_copy_as(home, sip_content_language_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_content_language_t *sip_content_language_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_content_language_t *sip_content_language_make(su_home_t *home, char const *s)
{
return (sip_content_language_t *)sip_header_make(home, sip_content_language_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_content_language_t *sip_content_language_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_content_language_t *sip_content_language_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_content_language_class, fmt, ap);
va_end(ap);
return (sip_content_language_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_content_disposition_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_content_disposition_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_content_disposition(sip) \
((sip_content_disposition_t *)msg_header_access((msg_pub_t*)(sip), sip_content_disposition_class))
#define SIP_CONTENT_DISPOSITION_INIT() SIP_HDR_INIT(content_disposition)
#if SU_HAVE_INLINE
su_inline sip_content_disposition_t *sip_content_disposition_init(sip_content_disposition_t x[1])
{
return SIP_HEADER_INIT(x, sip_content_disposition_class, sizeof(sip_content_disposition_t));
}
#else
#define sip_content_disposition_init(x) \
SIP_HEADER_INIT(x, sip_content_disposition_class, sizeof(sip_content_disposition_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_content_disposition(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_content_disposition_hash;
}
#else
int sip_is_content_disposition(sip_header_t const *header);
#endif
#define sip_content_disposition_p(h) sip_is_content_disposition((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_content_disposition_t *sip_content_disposition_dup(su_home_t *home, sip_content_disposition_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_content_disposition_t *sip_content_disposition_dup(su_home_t *home, sip_content_disposition_t const *hdr)
{
return (sip_content_disposition_t *)
msg_header_dup_as(home, sip_content_disposition_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_content_disposition_t *sip_content_disposition_copy(su_home_t *home, sip_content_disposition_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_content_disposition_t *sip_content_disposition_copy(su_home_t *home, sip_content_disposition_t const *hdr)
{
return (sip_content_disposition_t *)
msg_header_copy_as(home, sip_content_disposition_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_content_disposition_t *sip_content_disposition_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_content_disposition_t *sip_content_disposition_make(su_home_t *home, char const *s)
{
return (sip_content_disposition_t *)sip_header_make(home, sip_content_disposition_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_content_disposition_t *sip_content_disposition_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_content_disposition_t *sip_content_disposition_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_content_disposition_class, fmt, ap);
va_end(ap);
return (sip_content_disposition_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_content_length_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_content_length_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_content_length(sip) \
((sip_content_length_t *)msg_header_access((msg_pub_t*)(sip), sip_content_length_class))
#define SIP_CONTENT_LENGTH_INIT() SIP_HDR_INIT(content_length)
#if SU_HAVE_INLINE
su_inline sip_content_length_t *sip_content_length_init(sip_content_length_t x[1])
{
return SIP_HEADER_INIT(x, sip_content_length_class, sizeof(sip_content_length_t));
}
#else
#define sip_content_length_init(x) \
SIP_HEADER_INIT(x, sip_content_length_class, sizeof(sip_content_length_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_content_length(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_content_length_hash;
}
#else
int sip_is_content_length(sip_header_t const *header);
#endif
#define sip_content_length_p(h) sip_is_content_length((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_content_length_t *sip_content_length_dup(su_home_t *home, sip_content_length_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_content_length_t *sip_content_length_dup(su_home_t *home, sip_content_length_t const *hdr)
{
return (sip_content_length_t *)
msg_header_dup_as(home, sip_content_length_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_content_length_t *sip_content_length_copy(su_home_t *home, sip_content_length_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_content_length_t *sip_content_length_copy(su_home_t *home, sip_content_length_t const *hdr)
{
return (sip_content_length_t *)
msg_header_copy_as(home, sip_content_length_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_content_length_t *sip_content_length_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_content_length_t *sip_content_length_make(su_home_t *home, char const *s)
{
return (sip_content_length_t *)sip_header_make(home, sip_content_length_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_content_length_t *sip_content_length_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_content_length_t *sip_content_length_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_content_length_class, fmt, ap);
va_end(ap);
return (sip_content_length_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_unknown_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_unknown_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_unknown(sip) \
((sip_unknown_t *)msg_header_access((msg_pub_t*)(sip), sip_unknown_class))
#define SIP_UNKNOWN_INIT() SIP_HDR_INIT(unknown)
#if SU_HAVE_INLINE
su_inline sip_unknown_t *sip_unknown_init(sip_unknown_t x[1])
{
return SIP_HEADER_INIT(x, sip_unknown_class, sizeof(sip_unknown_t));
}
#else
#define sip_unknown_init(x) \
SIP_HEADER_INIT(x, sip_unknown_class, sizeof(sip_unknown_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_unknown(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_unknown_hash;
}
#else
int sip_is_unknown(sip_header_t const *header);
#endif
#define sip_unknown_p(h) sip_is_unknown((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_unknown_t *sip_unknown_dup(su_home_t *home, sip_unknown_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_unknown_t *sip_unknown_dup(su_home_t *home, sip_unknown_t const *hdr)
{
return (sip_unknown_t *)
msg_header_dup_as(home, sip_unknown_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_unknown_t *sip_unknown_copy(su_home_t *home, sip_unknown_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_unknown_t *sip_unknown_copy(su_home_t *home, sip_unknown_t const *hdr)
{
return (sip_unknown_t *)
msg_header_copy_as(home, sip_unknown_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_unknown_t *sip_unknown_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_unknown_t *sip_unknown_make(su_home_t *home, char const *s)
{
return (sip_unknown_t *)sip_header_make(home, sip_unknown_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_unknown_t *sip_unknown_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_unknown_t *sip_unknown_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_unknown_class, fmt, ap);
va_end(ap);
return (sip_unknown_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_error_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_error_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_error(sip) \
((sip_error_t *)msg_header_access((msg_pub_t*)(sip), sip_error_class))
#define SIP_ERROR_INIT() SIP_HDR_INIT(error)
#if SU_HAVE_INLINE
su_inline sip_error_t *sip_error_init(sip_error_t x[1])
{
return SIP_HEADER_INIT(x, sip_error_class, sizeof(sip_error_t));
}
#else
#define sip_error_init(x) \
SIP_HEADER_INIT(x, sip_error_class, sizeof(sip_error_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_error(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_error_hash;
}
#else
int sip_is_error(sip_header_t const *header);
#endif
#define sip_error_p(h) sip_is_error((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_error_t *sip_error_dup(su_home_t *home, sip_error_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_error_t *sip_error_dup(su_home_t *home, sip_error_t const *hdr)
{
return (sip_error_t *)
msg_header_dup_as(home, sip_error_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_error_t *sip_error_copy(su_home_t *home, sip_error_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_error_t *sip_error_copy(su_home_t *home, sip_error_t const *hdr)
{
return (sip_error_t *)
msg_header_copy_as(home, sip_error_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_error_t *sip_error_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_error_t *sip_error_make(su_home_t *home, char const *s)
{
return (sip_error_t *)sip_header_make(home, sip_error_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_error_t *sip_error_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_error_t *sip_error_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_error_class, fmt, ap);
va_end(ap);
return (sip_error_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_separator_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_separator_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_separator(sip) \
((sip_separator_t *)msg_header_access((msg_pub_t*)(sip), sip_separator_class))
#define SIP_SEPARATOR_INIT() SIP_HDR_INIT(separator)
#if SU_HAVE_INLINE
su_inline sip_separator_t *sip_separator_init(sip_separator_t x[1])
{
return SIP_HEADER_INIT(x, sip_separator_class, sizeof(sip_separator_t));
}
#else
#define sip_separator_init(x) \
SIP_HEADER_INIT(x, sip_separator_class, sizeof(sip_separator_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_separator(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_separator_hash;
}
#else
int sip_is_separator(sip_header_t const *header);
#endif
#define sip_separator_p(h) sip_is_separator((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_separator_t *sip_separator_dup(su_home_t *home, sip_separator_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_separator_t *sip_separator_dup(su_home_t *home, sip_separator_t const *hdr)
{
return (sip_separator_t *)
msg_header_dup_as(home, sip_separator_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_separator_t *sip_separator_copy(su_home_t *home, sip_separator_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_separator_t *sip_separator_copy(su_home_t *home, sip_separator_t const *hdr)
{
return (sip_separator_t *)
msg_header_copy_as(home, sip_separator_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_separator_t *sip_separator_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_separator_t *sip_separator_make(su_home_t *home, char const *s)
{
return (sip_separator_t *)sip_header_make(home, sip_separator_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_separator_t *sip_separator_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_separator_t *sip_separator_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_separator_class, fmt, ap);
va_end(ap);
return (sip_separator_t *)h;
}
#endif
SOFIAPUBFUN issize_t sip_payload_d(su_home_t *, msg_header_t *,
char *s, isize_t slen);
SOFIAPUBFUN issize_t sip_payload_e(char b[], isize_t bsiz,
msg_header_t const *h, int flags);
#define sip_payload(sip) \
((sip_payload_t *)msg_header_access((msg_pub_t*)(sip), sip_payload_class))
#define SIP_PAYLOAD_INIT() SIP_HDR_INIT(payload)
#if SU_HAVE_INLINE
su_inline sip_payload_t *sip_payload_init(sip_payload_t x[1])
{
return SIP_HEADER_INIT(x, sip_payload_class, sizeof(sip_payload_t));
}
#else
#define sip_payload_init(x) \
SIP_HEADER_INIT(x, sip_payload_class, sizeof(sip_payload_t))
#endif
#if SU_HAVE_INLINE
su_inline int sip_is_payload(sip_header_t const *header)
{
return header && header->sh_class->hc_hash == sip_payload_hash;
}
#else
int sip_is_payload(sip_header_t const *header);
#endif
#define sip_payload_p(h) sip_is_payload((h))
#if SU_HAVE_INLINE
su_inline
#endif
sip_payload_t *sip_payload_dup(su_home_t *home, sip_payload_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_payload_t *sip_payload_dup(su_home_t *home, sip_payload_t const *hdr)
{
return (sip_payload_t *)
msg_header_dup_as(home, sip_payload_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_payload_t *sip_payload_copy(su_home_t *home, sip_payload_t const *hdr)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline
sip_payload_t *sip_payload_copy(su_home_t *home, sip_payload_t const *hdr)
{
return (sip_payload_t *)
msg_header_copy_as(home, sip_payload_class, (msg_header_t const *)hdr);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_payload_t *sip_payload_make(su_home_t *home, char const *s)
__attribute__((__malloc__));
#if SU_HAVE_INLINE
su_inline sip_payload_t *sip_payload_make(su_home_t *home, char const *s)
{
return (sip_payload_t *)sip_header_make(home, sip_payload_class, s);
}
#endif
#if SU_HAVE_INLINE
su_inline
#endif
sip_payload_t *sip_payload_format(su_home_t *home, char const *fmt, ...)
__attribute__((__malloc__, __format__ (printf, 2, 3)));
#if SU_HAVE_INLINE
su_inline sip_payload_t *sip_payload_format(su_home_t *home, char const *fmt, ...)
{
sip_header_t *h;
va_list ap;
va_start(ap, fmt);
h = sip_header_vformat(home, sip_payload_class, fmt, ap);
va_end(ap);
return (sip_payload_t *)h;
}
#endif
SOFIA_END_DECLS
#endif /* !defined(SIP_PROTOS_H) */
sip_accept_contact_make
sip_accept_contact_t * sip_accept_contact_make(su_home_t *home, char const *s))
Make a Accept-Contact header structure sip_accept_contact_t.
Definition sip_protos.h:3877
sip_accept_contact_dup
sip_accept_contact_t * sip_accept_contact_dup(su_home_t *home, sip_accept_contact_t const *hdr))
Duplicate a list of Accept-Contact header header structures sip_accept_contact_t.
Definition sip_protos.h:3805
sip_accept_contact_e
issize_t sip_accept_contact_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Accept-Contact header.
sip_accept_contact_copy
sip_accept_contact_t * sip_accept_contact_copy(su_home_t *home, sip_accept_contact_t const *hdr))
Copy a list of Accept-Contact header header structures sip_accept_contact_t.
Definition sip_protos.h:3848
sip_accept_contact_hash
@ sip_accept_contact_hash
@
Definition sip_hclasses.h:397
sip_accept_contact_format
sip_accept_contact_t * sip_accept_contact_format(su_home_t *home, char const *fmt,...)))
Make a Accept-Contact header from formatting result.
Definition sip_protos.h:3908
sip_accept_contact_t
struct sip_caller_prefs_s sip_accept_contact_t
@
Definition sip.h:182
sip_accept_contact_class
msg_hclass_t sip_accept_contact_class[]
Header class for Accept-Contact header.
Definition sip_caller_prefs.c:323
sip_accept_contact_init
sip_accept_contact_t * sip_accept_contact_init(sip_accept_contact_t x[1])
Initialize a structure sip_accept_contact_t.
Definition sip_protos.h:3736
sip_is_accept_contact
int sip_is_accept_contact(sip_header_t const *header)
Test if header object is instance of sip_accept_contact_t.
Definition sip_protos.h:3758
sip_accept_contact_d
issize_t sip_accept_contact_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Accept-Contact header.
sip_accept_encoding_copy
sip_accept_encoding_t * sip_accept_encoding_copy(su_home_t *home, sip_accept_encoding_t const *hdr))
Copy a list of Accept-Encoding header header structures sip_accept_encoding_t.
Definition sip_protos.h:7418
sip_accept_encoding_class
msg_hclass_t sip_accept_encoding_class[]
Header class for Accept-Encoding header.
Definition sip_mime.c:214
sip_accept_encoding_d
issize_t sip_accept_encoding_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Accept-Encoding header.
sip_accept_encoding_dup
sip_accept_encoding_t * sip_accept_encoding_dup(su_home_t *home, sip_accept_encoding_t const *hdr))
Duplicate a list of Accept-Encoding header header structures sip_accept_encoding_t.
Definition sip_protos.h:7375
sip_accept_encoding_e
issize_t sip_accept_encoding_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Accept-Encoding header.
sip_accept_encoding_t
msg_accept_any_t sip_accept_encoding_t
@
Definition sip.h:140
sip_is_accept_encoding
int sip_is_accept_encoding(sip_header_t const *header)
Test if header object is instance of sip_accept_encoding_t.
Definition sip_protos.h:7328
sip_accept_encoding_format
sip_accept_encoding_t * sip_accept_encoding_format(su_home_t *home, char const *fmt,...)))
Make a Accept-Encoding header from formatting result.
Definition sip_protos.h:7478
sip_accept_encoding_make
sip_accept_encoding_t * sip_accept_encoding_make(su_home_t *home, char const *s))
Make a Accept-Encoding header structure sip_accept_encoding_t.
Definition sip_protos.h:7447
sip_accept_encoding_init
sip_accept_encoding_t * sip_accept_encoding_init(sip_accept_encoding_t x[1])
Initialize a structure sip_accept_encoding_t.
Definition sip_protos.h:7306
sip_accept_encoding_hash
@ sip_accept_encoding_hash
@
Definition sip_hclasses.h:742
sip_accept_language_hash
@ sip_accept_language_hash
@
Definition sip_hclasses.h:765
sip_accept_language_init
sip_accept_language_t * sip_accept_language_init(sip_accept_language_t x[1])
Initialize a structure sip_accept_language_t.
Definition sip_protos.h:7544
sip_accept_language_format
sip_accept_language_t * sip_accept_language_format(su_home_t *home, char const *fmt,...)))
Make a Accept-Language header from formatting result.
Definition sip_protos.h:7716
sip_accept_language_t
msg_accept_any_t sip_accept_language_t
@
Definition sip.h:141
sip_accept_language_class
msg_hclass_t sip_accept_language_class[]
Header class for Accept-Language header.
Definition sip_mime.c:280
sip_accept_language_make
sip_accept_language_t * sip_accept_language_make(su_home_t *home, char const *s))
Make a Accept-Language header structure sip_accept_language_t.
Definition sip_protos.h:7685
sip_accept_language_copy
sip_accept_language_t * sip_accept_language_copy(su_home_t *home, sip_accept_language_t const *hdr))
Copy a list of Accept-Language header header structures sip_accept_language_t.
Definition sip_protos.h:7656
sip_accept_language_dup
sip_accept_language_t * sip_accept_language_dup(su_home_t *home, sip_accept_language_t const *hdr))
Duplicate a list of Accept-Language header header structures sip_accept_language_t.
Definition sip_protos.h:7613
sip_accept_language_d
issize_t sip_accept_language_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Accept-Language header.
sip_accept_language_e
issize_t sip_accept_language_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Accept-Language header.
sip_is_accept_language
int sip_is_accept_language(sip_header_t const *header)
Test if header object is instance of sip_accept_language_t.
Definition sip_protos.h:7566
sip_accept_e
issize_t sip_accept_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Accept header.
sip_accept_make
sip_accept_t * sip_accept_make(su_home_t *home, char const *s))
Make a Accept header structure sip_accept_t.
Definition sip_protos.h:7209
sip_accept_d
issize_t sip_accept_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Accept header.
sip_accept_init
sip_accept_t * sip_accept_init(sip_accept_t x[1])
Initialize a structure sip_accept_t.
Definition sip_protos.h:7068
sip_accept_dup
sip_accept_t * sip_accept_dup(su_home_t *home, sip_accept_t const *hdr))
Duplicate a list of Accept header header structures sip_accept_t.
Definition sip_protos.h:7137
sip_accept_format
sip_accept_t * sip_accept_format(su_home_t *home, char const *fmt,...)))
Make a Accept header from formatting result.
Definition sip_protos.h:7240
sip_accept_hash
@ sip_accept_hash
@
Definition sip_hclasses.h:719
sip_accept_class
msg_hclass_t sip_accept_class[]
Header class for Accept header.
Definition sip_mime.c:100
sip_accept_t
struct sip_accept_s sip_accept_t
@
Definition sip.h:139
sip_accept_copy
sip_accept_t * sip_accept_copy(su_home_t *home, sip_accept_t const *hdr))
Copy a list of Accept header header structures sip_accept_t.
Definition sip_protos.h:7180
sip_is_accept
int sip_is_accept(sip_header_t const *header)
Test if header object is instance of sip_accept_t.
Definition sip_protos.h:7090
sip_allow_events_hash
@ sip_allow_events_hash
@
Definition sip_hclasses.h:903
sip_allow_events_t
msg_list_t sip_allow_events_t
@
Definition sip.h:205
sip_allow_events_copy
sip_allow_events_t * sip_allow_events_copy(su_home_t *home, sip_allow_events_t const *hdr))
Copy a list of Allow-Events header header structures sip_allow_events_t.
Definition sip_protos.h:9084
sip_allow_events_format
sip_allow_events_t * sip_allow_events_format(su_home_t *home, char const *fmt,...)))
Make a Allow-Events header from formatting result.
Definition sip_protos.h:9144
sip_is_allow_events
int sip_is_allow_events(sip_header_t const *header)
Test if header object is instance of sip_allow_events_t.
Definition sip_protos.h:8994
sip_allow_events_make
sip_allow_events_t * sip_allow_events_make(su_home_t *home, char const *s))
Make a Allow-Events header structure sip_allow_events_t.
Definition sip_protos.h:9113
sip_allow_events_class
msg_hclass_t sip_allow_events_class[]
Header class for Allow-Events header.
Definition sip_event.c:209
sip_allow_events_dup
sip_allow_events_t * sip_allow_events_dup(su_home_t *home, sip_allow_events_t const *hdr))
Duplicate a list of Allow-Events header header structures sip_allow_events_t.
Definition sip_protos.h:9041
sip_allow_events_init
sip_allow_events_t * sip_allow_events_init(sip_allow_events_t x[1])
Initialize a structure sip_allow_events_t.
Definition sip_protos.h:8972
sip_allow_events_e
issize_t sip_allow_events_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Allow-Events header.
sip_allow_events_d
issize_t sip_allow_events_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Allow-Events header.
sip_allow_t
struct sip_allow_s sip_allow_t
@
Definition sip.h:142
sip_is_allow
int sip_is_allow(sip_header_t const *header)
Test if header object is instance of sip_allow_t.
Definition sip_protos.h:7804
sip_allow_class
msg_hclass_t sip_allow_class[]
Header class for Allow header.
Definition sip_feature.c:92
sip_allow_copy
sip_allow_t * sip_allow_copy(su_home_t *home, sip_allow_t const *hdr))
Copy a list of Allow header header structures sip_allow_t.
Definition sip_protos.h:7894
sip_allow_e
issize_t sip_allow_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Allow header.
sip_allow_dup
sip_allow_t * sip_allow_dup(su_home_t *home, sip_allow_t const *hdr))
Duplicate a list of Allow header header structures sip_allow_t.
Definition sip_protos.h:7851
sip_allow_format
sip_allow_t * sip_allow_format(su_home_t *home, char const *fmt,...)))
Make a Allow header from formatting result.
Definition sip_protos.h:7954
sip_allow_hash
@ sip_allow_hash
@
Definition sip_hclasses.h:788
sip_allow_make
sip_allow_t * sip_allow_make(su_home_t *home, char const *s))
Make a Allow header structure sip_allow_t.
Definition sip_protos.h:7923
sip_allow_d
issize_t sip_allow_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Allow header.
sip_allow_init
sip_allow_t * sip_allow_init(sip_allow_t x[1])
Initialize a structure sip_allow_t.
Definition sip_protos.h:7782
sip_authentication_info_d
issize_t sip_authentication_info_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Authentication-Info header.
sip_authentication_info_e
issize_t sip_authentication_info_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Authentication-Info header.
sip_authentication_info_class
msg_hclass_t sip_authentication_info_class[]
Header class for Authentication-Info header.
Definition sip_security.c:368
sip_authentication_info_hash
@ sip_authentication_info_hash
@
Definition sip_hclasses.h:1064
sip_is_authentication_info
int sip_is_authentication_info(sip_header_t const *header)
Test if header object is instance of sip_authentication_info_t.
Definition sip_protos.h:10660
sip_authentication_info_format
sip_authentication_info_t * sip_authentication_info_format(su_home_t *home, char const *fmt,...)))
Make a Authentication-Info header from formatting result.
Definition sip_protos.h:10810
sip_authentication_info_dup
sip_authentication_info_t * sip_authentication_info_dup(su_home_t *home, sip_authentication_info_t const *hdr))
Duplicate a list of Authentication-Info header header structures sip_authentication_info_t.
Definition sip_protos.h:10707
sip_authentication_info_make
sip_authentication_info_t * sip_authentication_info_make(su_home_t *home, char const *s))
Make a Authentication-Info header structure sip_authentication_info_t.
Definition sip_protos.h:10779
sip_authentication_info_t
struct msg_auth_info_s sip_authentication_info_t
@
Definition sip.h:143
sip_authentication_info_copy
sip_authentication_info_t * sip_authentication_info_copy(su_home_t *home, sip_authentication_info_t const *hdr))
Copy a list of Authentication-Info header header structures sip_authentication_info_t.
Definition sip_protos.h:10750
sip_authentication_info_init
sip_authentication_info_t * sip_authentication_info_init(sip_authentication_info_t x[1])
Initialize a structure sip_authentication_info_t.
Definition sip_protos.h:10638
sip_authorization_t
struct msg_auth_s sip_authorization_t
@
Definition sip.h:144
sip_authorization_dup
sip_authorization_t * sip_authorization_dup(su_home_t *home, sip_authorization_t const *hdr))
Duplicate a list of Authorization header header structures sip_authorization_t.
Definition sip_protos.h:10231
sip_authorization_format
sip_authorization_t * sip_authorization_format(su_home_t *home, char const *fmt,...)))
Make a Authorization header from formatting result.
Definition sip_protos.h:10334
sip_authorization_class
msg_hclass_t sip_authorization_class[]
Header class for Authorization header.
Definition sip_security.c:130
sip_authorization_init
sip_authorization_t * sip_authorization_init(sip_authorization_t x[1])
Initialize a structure sip_authorization_t.
Definition sip_protos.h:10162
sip_authorization_copy
sip_authorization_t * sip_authorization_copy(su_home_t *home, sip_authorization_t const *hdr))
Copy a list of Authorization header header structures sip_authorization_t.
Definition sip_protos.h:10274
sip_authorization_d
issize_t sip_authorization_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Authorization header.
sip_authorization_hash
@ sip_authorization_hash
@
Definition sip_hclasses.h:1018
sip_is_authorization
int sip_is_authorization(sip_header_t const *header)
Test if header object is instance of sip_authorization_t.
Definition sip_protos.h:10184
sip_authorization_make
sip_authorization_t * sip_authorization_make(su_home_t *home, char const *s))
Make a Authorization header structure sip_authorization_t.
Definition sip_protos.h:10303
sip_authorization_e
issize_t sip_authorization_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Authorization header.
sip_call_id_e
issize_t sip_call_id_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Call-ID header.
sip_call_id_init
sip_call_id_t * sip_call_id_init(sip_call_id_t x[1])
Initialize a structure sip_call_id_t.
Definition sip_protos.h:2308
sip_call_id_d
issize_t sip_call_id_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Call-ID header.
sip_call_id_t
struct sip_call_id_s sip_call_id_t
@
Definition sip.h:145
sip_call_id_hash
@ sip_call_id_hash
@
Definition sip_hclasses.h:259
sip_call_id_copy
sip_call_id_t * sip_call_id_copy(su_home_t *home, sip_call_id_t const *hdr))
Copy a list of Call-ID header header structures sip_call_id_t.
Definition sip_protos.h:2420
sip_call_id_format
sip_call_id_t * sip_call_id_format(su_home_t *home, char const *fmt,...)))
Make a Call-ID header from formatting result.
Definition sip_protos.h:2480
sip_call_id_make
sip_call_id_t * sip_call_id_make(su_home_t *home, char const *s))
Make a Call-ID header structure sip_call_id_t.
Definition sip_protos.h:2449
sip_call_id_class
msg_hclass_t sip_call_id_class[]
Header class for Call-ID header.
Definition sip_basic.c:1044
sip_call_id_dup
sip_call_id_t * sip_call_id_dup(su_home_t *home, sip_call_id_t const *hdr))
Duplicate a list of Call-ID header header structures sip_call_id_t.
Definition sip_protos.h:2377
sip_is_call_id
int sip_is_call_id(sip_header_t const *header)
Test if header object is instance of sip_call_id_t.
Definition sip_protos.h:2330
sip_call_info_dup
sip_call_info_t * sip_call_info_dup(su_home_t *home, sip_call_info_t const *hdr))
Duplicate a list of Call-Info header header structures sip_call_info_t.
Definition sip_protos.h:5947
sip_call_info_make
sip_call_info_t * sip_call_info_make(su_home_t *home, char const *s))
Make a Call-Info header structure sip_call_info_t.
Definition sip_protos.h:6019
sip_call_info_format
sip_call_info_t * sip_call_info_format(su_home_t *home, char const *fmt,...)))
Make a Call-Info header from formatting result.
Definition sip_protos.h:6050
sip_call_info_t
struct sip_call_info_s sip_call_info_t
@
Definition sip.h:146
sip_call_info_e
issize_t sip_call_info_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Call-Info header.
sip_call_info_hash
@ sip_call_info_hash
@
Definition sip_hclasses.h:604
sip_call_info_class
msg_hclass_t sip_call_info_class[]
Header class for Call-Info header.
Definition sip_extra.c:107
sip_call_info_d
issize_t sip_call_info_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Call-Info header.
sip_is_call_info
int sip_is_call_info(sip_header_t const *header)
Test if header object is instance of sip_call_info_t.
Definition sip_protos.h:5900
sip_call_info_copy
sip_call_info_t * sip_call_info_copy(su_home_t *home, sip_call_info_t const *hdr))
Copy a list of Call-Info header header structures sip_call_info_t.
Definition sip_protos.h:5990
sip_call_info_init
sip_call_info_t * sip_call_info_init(sip_call_info_t x[1])
Initialize a structure sip_call_info_t.
Definition sip_protos.h:5878
sip_contact_hash
@ sip_contact_hash
@
Definition sip_hclasses.h:305
sip_contact_copy
sip_contact_t * sip_contact_copy(su_home_t *home, sip_contact_t const *hdr))
Copy a list of Contact header header structures sip_contact_t.
Definition sip_protos.h:2896
sip_is_contact
int sip_is_contact(sip_header_t const *header)
Test if header object is instance of sip_contact_t.
Definition sip_protos.h:2806
sip_contact_make
sip_contact_t * sip_contact_make(su_home_t *home, char const *s))
Make a Contact header structure sip_contact_t.
Definition sip_protos.h:2925
sip_contact_init
sip_contact_t * sip_contact_init(sip_contact_t x[1])
Initialize a structure sip_contact_t.
Definition sip_protos.h:2784
sip_contact_class
msg_hclass_t sip_contact_class[]
Header class for Contact header.
Definition sip_basic.c:1366
sip_contact_e
issize_t sip_contact_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Contact header.
sip_contact_d
issize_t sip_contact_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Contact header.
sip_contact_t
struct sip_contact_s sip_contact_t
@
Definition sip.h:147
sip_contact_format
sip_contact_t * sip_contact_format(su_home_t *home, char const *fmt,...)))
Make a Contact header from formatting result.
Definition sip_protos.h:2956
sip_contact_dup
sip_contact_t * sip_contact_dup(su_home_t *home, sip_contact_t const *hdr))
Duplicate a list of Contact header header structures sip_contact_t.
Definition sip_protos.h:2853
sip_content_disposition_copy
sip_content_disposition_t * sip_content_disposition_copy(su_home_t *home, sip_content_disposition_t const *hdr))
Copy a list of Content-Disposition header header structures sip_content_disposition_t.
Definition sip_protos.h:15748
sip_content_disposition_e
issize_t sip_content_disposition_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Content-Disposition header.
sip_content_disposition_d
issize_t sip_content_disposition_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Content-Disposition header.
sip_content_disposition_init
sip_content_disposition_t * sip_content_disposition_init(sip_content_disposition_t x[1])
Initialize a structure sip_content_disposition_t.
Definition sip_protos.h:15636
sip_content_disposition_class
msg_hclass_t sip_content_disposition_class[]
Header class for Content-Disposition header.
Definition sip_mime.c:369
sip_content_disposition_make
sip_content_disposition_t * sip_content_disposition_make(su_home_t *home, char const *s))
Make a Content-Disposition header structure sip_content_disposition_t.
Definition sip_protos.h:15777
sip_content_disposition_hash
@ sip_content_disposition_hash
@
Definition sip_hclasses.h:1547
sip_content_disposition_dup
sip_content_disposition_t * sip_content_disposition_dup(su_home_t *home, sip_content_disposition_t const *hdr))
Duplicate a list of Content-Disposition header header structures sip_content_disposition_t.
Definition sip_protos.h:15705
sip_is_content_disposition
int sip_is_content_disposition(sip_header_t const *header)
Test if header object is instance of sip_content_disposition_t.
Definition sip_protos.h:15658
sip_content_disposition_t
msg_content_disposition_t sip_content_disposition_t
@
Definition sip.h:151
sip_content_disposition_format
sip_content_disposition_t * sip_content_disposition_format(su_home_t *home, char const *fmt,...)))
Make a Content-Disposition header from formatting result.
Definition sip_protos.h:15808
sip_content_encoding_format
sip_content_encoding_t * sip_content_encoding_format(su_home_t *home, char const *fmt,...)))
Make a Content-Encoding header from formatting result.
Definition sip_protos.h:15332
sip_content_encoding_e
issize_t sip_content_encoding_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Content-Encoding header.
sip_content_encoding_d
issize_t sip_content_encoding_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Content-Encoding header.
sip_content_encoding_make
sip_content_encoding_t * sip_content_encoding_make(su_home_t *home, char const *s))
Make a Content-Encoding header structure sip_content_encoding_t.
Definition sip_protos.h:15301
sip_content_encoding_class
msg_hclass_t sip_content_encoding_class[]
Header class for Content-Encoding header.
Definition sip_mime.c:436
sip_content_encoding_copy
sip_content_encoding_t * sip_content_encoding_copy(su_home_t *home, sip_content_encoding_t const *hdr))
Copy a list of Content-Encoding header header structures sip_content_encoding_t.
Definition sip_protos.h:15272
sip_content_encoding_t
msg_list_t sip_content_encoding_t
@
Definition sip.h:152
sip_content_encoding_dup
sip_content_encoding_t * sip_content_encoding_dup(su_home_t *home, sip_content_encoding_t const *hdr))
Duplicate a list of Content-Encoding header header structures sip_content_encoding_t.
Definition sip_protos.h:15229
sip_is_content_encoding
int sip_is_content_encoding(sip_header_t const *header)
Test if header object is instance of sip_content_encoding_t.
Definition sip_protos.h:15182
sip_content_encoding_init
sip_content_encoding_t * sip_content_encoding_init(sip_content_encoding_t x[1])
Initialize a structure sip_content_encoding_t.
Definition sip_protos.h:15160
sip_content_encoding_hash
@ sip_content_encoding_hash
@
Definition sip_hclasses.h:1501
sip_content_language_t
msg_list_t sip_content_language_t
@
Definition sip.h:153
sip_content_language_dup
sip_content_language_t * sip_content_language_dup(su_home_t *home, sip_content_language_t const *hdr))
Duplicate a list of Content-Language header header structures sip_content_language_t.
Definition sip_protos.h:15467
sip_content_language_hash
@ sip_content_language_hash
@
Definition sip_hclasses.h:1524
sip_content_language_format
sip_content_language_t * sip_content_language_format(su_home_t *home, char const *fmt,...)))
Make a Content-Language header from formatting result.
Definition sip_protos.h:15570
sip_is_content_language
int sip_is_content_language(sip_header_t const *header)
Test if header object is instance of sip_content_language_t.
Definition sip_protos.h:15420
sip_content_language_make
sip_content_language_t * sip_content_language_make(su_home_t *home, char const *s))
Make a Content-Language header structure sip_content_language_t.
Definition sip_protos.h:15539
sip_content_language_e
issize_t sip_content_language_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Content-Language header.
sip_content_language_class
msg_hclass_t sip_content_language_class[]
Header class for Content-Language header.
Definition sip_mime.c:486
sip_content_language_d
issize_t sip_content_language_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Content-Language header.
sip_content_language_copy
sip_content_language_t * sip_content_language_copy(su_home_t *home, sip_content_language_t const *hdr))
Copy a list of Content-Language header header structures sip_content_language_t.
Definition sip_protos.h:15510
sip_content_language_init
sip_content_language_t * sip_content_language_init(sip_content_language_t x[1])
Initialize a structure sip_content_language_t.
Definition sip_protos.h:15398
sip_content_length_t
struct sip_content_length_s sip_content_length_t
@
Definition sip.h:154
sip_content_length_e
issize_t sip_content_length_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Content-Length header.
sip_content_length_d
issize_t sip_content_length_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Content-Length header.
sip_content_length_hash
@ sip_content_length_hash
@
Definition sip_hclasses.h:1570
sip_content_length_make
sip_content_length_t * sip_content_length_make(su_home_t *home, char const *s))
Make a Content-Length header structure sip_content_length_t.
Definition sip_protos.h:16015
sip_content_length_dup
sip_content_length_t * sip_content_length_dup(su_home_t *home, sip_content_length_t const *hdr))
Duplicate a list of Content-Length header header structures sip_content_length_t.
Definition sip_protos.h:15943
sip_content_length_init
sip_content_length_t * sip_content_length_init(sip_content_length_t x[1])
Initialize a structure sip_content_length_t.
Definition sip_protos.h:15874
sip_content_length_class
msg_hclass_t sip_content_length_class[]
Header class for Content-Length header.
Definition sip_basic.c:1526
sip_is_content_length
int sip_is_content_length(sip_header_t const *header)
Test if header object is instance of sip_content_length_t.
Definition sip_protos.h:15896
sip_content_length_copy
sip_content_length_t * sip_content_length_copy(su_home_t *home, sip_content_length_t const *hdr))
Copy a list of Content-Length header header structures sip_content_length_t.
Definition sip_protos.h:15986
sip_content_length_format
sip_content_length_t * sip_content_length_format(su_home_t *home, char const *fmt,...)))
Make a Content-Length header from formatting result.
Definition sip_protos.h:16046
sip_content_type_format
sip_content_type_t * sip_content_type_format(su_home_t *home, char const *fmt,...)))
Make a Content-Type header from formatting result.
Definition sip_protos.h:15094
sip_content_type_d
issize_t sip_content_type_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Content-Type header.
sip_is_content_type
int sip_is_content_type(sip_header_t const *header)
Test if header object is instance of sip_content_type_t.
Definition sip_protos.h:14944
sip_content_type_init
sip_content_type_t * sip_content_type_init(sip_content_type_t x[1])
Initialize a structure sip_content_type_t.
Definition sip_protos.h:14922
sip_content_type_e
issize_t sip_content_type_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Content-Type header.
sip_content_type_dup
sip_content_type_t * sip_content_type_dup(su_home_t *home, sip_content_type_t const *hdr))
Duplicate a list of Content-Type header header structures sip_content_type_t.
Definition sip_protos.h:14991
sip_content_type_t
struct msg_content_type_s sip_content_type_t
@
Definition sip.h:155
sip_content_type_copy
sip_content_type_t * sip_content_type_copy(su_home_t *home, sip_content_type_t const *hdr))
Copy a list of Content-Type header header structures sip_content_type_t.
Definition sip_protos.h:15034
sip_content_type_make
sip_content_type_t * sip_content_type_make(su_home_t *home, char const *s))
Make a Content-Type header structure sip_content_type_t.
Definition sip_protos.h:15063
sip_content_type_hash
@ sip_content_type_hash
@
Definition sip_hclasses.h:1478
sip_content_type_class
msg_hclass_t sip_content_type_class[]
Header class for Content-Type header.
Definition sip_mime.c:551
sip_cseq_init
sip_cseq_t * sip_cseq_init(sip_cseq_t x[1])
Initialize a structure sip_cseq_t.
Definition sip_protos.h:2546
sip_cseq_hash
@ sip_cseq_hash
@
Definition sip_hclasses.h:282
sip_cseq_dup
sip_cseq_t * sip_cseq_dup(su_home_t *home, sip_cseq_t const *hdr))
Duplicate a list of CSeq header header structures sip_cseq_t.
Definition sip_protos.h:2615
sip_cseq_class
msg_hclass_t sip_cseq_class[]
Header class for CSeq header.
Definition sip_basic.c:1197
sip_cseq_make
sip_cseq_t * sip_cseq_make(su_home_t *home, char const *s))
Make a CSeq header structure sip_cseq_t.
Definition sip_protos.h:2687
sip_cseq_format
sip_cseq_t * sip_cseq_format(su_home_t *home, char const *fmt,...)))
Make a CSeq header from formatting result.
Definition sip_protos.h:2718
sip_cseq_d
issize_t sip_cseq_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP CSeq header.
sip_cseq_t
struct sip_cseq_s sip_cseq_t
@
Definition sip.h:148
sip_cseq_copy
sip_cseq_t * sip_cseq_copy(su_home_t *home, sip_cseq_t const *hdr))
Copy a list of CSeq header header structures sip_cseq_t.
Definition sip_protos.h:2658
sip_cseq_e
issize_t sip_cseq_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP CSeq header.
sip_is_cseq
int sip_is_cseq(sip_header_t const *header)
Test if header object is instance of sip_cseq_t.
Definition sip_protos.h:2568
sip_date_hash
@ sip_date_hash
@
Definition sip_hclasses.h:466
sip_date_copy
sip_date_t * sip_date_copy(su_home_t *home, sip_date_t const *hdr))
Copy a list of Date header header structures sip_date_t.
Definition sip_protos.h:4562
sip_date_t
struct sip_date_s sip_date_t
@
Definition sip.h:157
sip_date_e
issize_t sip_date_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Date header.
sip_date_d
issize_t sip_date_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Date header.
sip_date_dup
sip_date_t * sip_date_dup(su_home_t *home, sip_date_t const *hdr))
Duplicate a list of Date header header structures sip_date_t.
Definition sip_protos.h:4519
sip_is_date
int sip_is_date(sip_header_t const *header)
Test if header object is instance of sip_date_t.
Definition sip_protos.h:4472
sip_date_init
sip_date_t * sip_date_init(sip_date_t x[1])
Initialize a structure sip_date_t.
Definition sip_protos.h:4450
sip_date_make
sip_date_t * sip_date_make(su_home_t *home, char const *s))
Make a Date header structure sip_date_t.
Definition sip_protos.h:4591
sip_date_class
msg_hclass_t sip_date_class[]
Header class for Date header.
Definition sip_basic.c:1616
sip_date_format
sip_date_t * sip_date_format(su_home_t *home, char const *fmt,...)))
Make a Date header from formatting result.
Definition sip_protos.h:4622
sip_error_info_init
sip_error_info_t * sip_error_info_init(sip_error_info_t x[1])
Initialize a structure sip_error_info_t.
Definition sip_protos.h:10876
sip_error_info_d
issize_t sip_error_info_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Error-Info header.
sip_error_info_e
issize_t sip_error_info_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Error-Info header.
sip_error_info_copy
sip_error_info_t * sip_error_info_copy(su_home_t *home, sip_error_info_t const *hdr))
Copy a list of Error-Info header header structures sip_error_info_t.
Definition sip_protos.h:10988
sip_error_info_t
struct sip_error_info_s sip_error_info_t
@
Definition sip.h:158
sip_error_info_dup
sip_error_info_t * sip_error_info_dup(su_home_t *home, sip_error_info_t const *hdr))
Duplicate a list of Error-Info header header structures sip_error_info_t.
Definition sip_protos.h:10945
sip_error_info_make
sip_error_info_t * sip_error_info_make(su_home_t *home, char const *s))
Make a Error-Info header structure sip_error_info_t.
Definition sip_protos.h:11017
sip_is_error_info
int sip_is_error_info(sip_header_t const *header)
Test if header object is instance of sip_error_info_t.
Definition sip_protos.h:10898
sip_error_info_hash
@ sip_error_info_hash
@
Definition sip_hclasses.h:1087
sip_error_info_class
msg_hclass_t sip_error_info_class[]
Header class for Error-Info header.
Definition sip_extra.c:187
sip_error_info_format
sip_error_info_t * sip_error_info_format(su_home_t *home, char const *fmt,...)))
Make a Error-Info header from formatting result.
Definition sip_protos.h:11048
sip_error_format
sip_error_t * sip_error_format(su_home_t *home, char const *fmt,...)))
Make a erroneous headers from formatting result.
Definition sip_protos.h:16522
sip_error_t
msg_error_t sip_error_t
@
Definition sip.h:134
sip_error_make
sip_error_t * sip_error_make(su_home_t *home, char const *s))
Make a erroneous headers structure sip_error_t.
Definition sip_protos.h:16491
sip_error_init
sip_error_t * sip_error_init(sip_error_t x[1])
Initialize a structure sip_error_t.
Definition sip_protos.h:16350
sip_is_error
int sip_is_error(sip_header_t const *header)
Test if header object is instance of sip_error_t.
Definition sip_protos.h:16372
sip_error_d
issize_t sip_error_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP erroneous headers.
Definition sip_basic.c:601
sip_error_class
msg_hclass_t sip_error_class[]
Header class for erroneous headers.
Definition sip_basic.c:598
sip_error_copy
sip_error_t * sip_error_copy(su_home_t *home, sip_error_t const *hdr))
Copy a list of erroneous headers header structures sip_error_t.
Definition sip_protos.h:16462
sip_error_dup
sip_error_t * sip_error_dup(su_home_t *home, sip_error_t const *hdr))
Duplicate a list of erroneous headers header structures sip_error_t.
Definition sip_protos.h:16419
sip_error_e
issize_t sip_error_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP erroneous headers.
Definition sip_basic.c:606
sip_error_hash
@ sip_error_hash
@
Definition sip_hclasses.h:1616
sip_etag_copy
sip_etag_t * sip_etag_copy(su_home_t *home, sip_etag_t const *hdr))
Copy a list of SIP-ETag header header structures sip_etag_t.
Definition sip_protos.h:14320
sip_etag_init
sip_etag_t * sip_etag_init(sip_etag_t x[1])
Initialize a structure sip_etag_t.
Definition sip_protos.h:14208
sip_etag_e
issize_t sip_etag_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP SIP-ETag header.
sip_etag_t
struct msg_generic_s sip_etag_t
@
Definition sip.h:149
sip_etag_class
msg_hclass_t sip_etag_class[]
Header class for SIP-ETag header.
Definition sip_extra.c:820
sip_etag_dup
sip_etag_t * sip_etag_dup(su_home_t *home, sip_etag_t const *hdr))
Duplicate a list of SIP-ETag header header structures sip_etag_t.
Definition sip_protos.h:14277
sip_is_etag
int sip_is_etag(sip_header_t const *header)
Test if header object is instance of sip_etag_t.
Definition sip_protos.h:14230
sip_etag_hash
@ sip_etag_hash
@
Definition sip_hclasses.h:1409
sip_etag_format
sip_etag_t * sip_etag_format(su_home_t *home, char const *fmt,...)))
Make a SIP-ETag header from formatting result.
Definition sip_protos.h:14380
sip_etag_d
issize_t sip_etag_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP SIP-ETag header.
sip_etag_make
sip_etag_t * sip_etag_make(su_home_t *home, char const *s))
Make a SIP-ETag header structure sip_etag_t.
Definition sip_protos.h:14349
sip_event_e
issize_t sip_event_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Event header.
sip_event_copy
sip_event_t * sip_event_copy(su_home_t *home, sip_event_t const *hdr))
Copy a list of Event header header structures sip_event_t.
Definition sip_protos.h:8846
sip_event_t
struct sip_event_s sip_event_t
@
Definition sip.h:204
sip_event_init
sip_event_t * sip_event_init(sip_event_t x[1])
Initialize a structure sip_event_t.
Definition sip_protos.h:8734
sip_event_format
sip_event_t * sip_event_format(su_home_t *home, char const *fmt,...)))
Make a Event header from formatting result.
Definition sip_protos.h:8906
sip_is_event
int sip_is_event(sip_header_t const *header)
Test if header object is instance of sip_event_t.
Definition sip_protos.h:8756
sip_event_class
msg_hclass_t sip_event_class[]
Header class for Event header.
Definition sip_event.c:96
sip_event_dup
sip_event_t * sip_event_dup(su_home_t *home, sip_event_t const *hdr))
Duplicate a list of Event header header structures sip_event_t.
Definition sip_protos.h:8803
sip_event_hash
@ sip_event_hash
@
Definition sip_hclasses.h:880
sip_event_make
sip_event_t * sip_event_make(su_home_t *home, char const *s))
Make a Event header structure sip_event_t.
Definition sip_protos.h:8875
sip_event_d
issize_t sip_event_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Event header.
sip_expires_e
issize_t sip_expires_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Expires header.
sip_expires_make
sip_expires_t * sip_expires_make(su_home_t *home, char const *s))
Make a Expires header structure sip_expires_t.
Definition sip_protos.h:4353
sip_expires_t
struct sip_expires_s sip_expires_t
@
Definition sip.h:159
sip_is_expires
int sip_is_expires(sip_header_t const *header)
Test if header object is instance of sip_expires_t.
Definition sip_protos.h:4234
sip_expires_class
msg_hclass_t sip_expires_class[]
Header class for Expires header.
Definition sip_basic.c:1697
sip_expires_copy
sip_expires_t * sip_expires_copy(su_home_t *home, sip_expires_t const *hdr))
Copy a list of Expires header header structures sip_expires_t.
Definition sip_protos.h:4324
sip_expires_dup
sip_expires_t * sip_expires_dup(su_home_t *home, sip_expires_t const *hdr))
Duplicate a list of Expires header header structures sip_expires_t.
Definition sip_protos.h:4281
sip_expires_format
sip_expires_t * sip_expires_format(su_home_t *home, char const *fmt,...)))
Make a Expires header from formatting result.
Definition sip_protos.h:4384
sip_expires_init
sip_expires_t * sip_expires_init(sip_expires_t x[1])
Initialize a structure sip_expires_t.
Definition sip_protos.h:4212
sip_expires_d
issize_t sip_expires_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Expires header.
sip_expires_hash
@ sip_expires_hash
@
Definition sip_hclasses.h:443
sip_from_e
issize_t sip_from_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP From header.
sip_from_dup
sip_from_t * sip_from_dup(su_home_t *home, sip_from_t const *hdr))
Duplicate a list of From header header structures sip_from_t.
Definition sip_protos.h:1901
sip_from_make
sip_from_t * sip_from_make(su_home_t *home, char const *s))
Make a From header structure sip_from_t.
Definition sip_protos.h:1973
sip_from_format
sip_from_t * sip_from_format(su_home_t *home, char const *fmt,...)))
Make a From header from formatting result.
Definition sip_protos.h:2004
sip_from_copy
sip_from_t * sip_from_copy(su_home_t *home, sip_from_t const *hdr))
Copy a list of From header header structures sip_from_t.
Definition sip_protos.h:1944
sip_from_d
issize_t sip_from_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP From header.
sip_from_t
struct sip_addr_s sip_from_t
@
Definition sip.h:160
sip_from_init
sip_from_t * sip_from_init(sip_from_t x[1])
Initialize a structure sip_from_t.
Definition sip_protos.h:1832
sip_from_class
msg_hclass_t sip_from_class[]
Header class for From header.
Definition sip_basic.c:1784
sip_is_from
int sip_is_from(sip_header_t const *header)
Test if header object is instance of sip_from_t.
Definition sip_protos.h:1854
sip_from_hash
@ sip_from_hash
@
Definition sip_hclasses.h:213
sip_if_match_hash
@ sip_if_match_hash
@
Definition sip_hclasses.h:1432
sip_if_match_format
sip_if_match_t * sip_if_match_format(su_home_t *home, char const *fmt,...)))
Make a SIP-If-Match header from formatting result.
Definition sip_protos.h:14618
sip_if_match_class
msg_hclass_t sip_if_match_class[]
Header class for SIP-If-Match header.
Definition sip_extra.c:868
sip_if_match_make
sip_if_match_t * sip_if_match_make(su_home_t *home, char const *s))
Make a SIP-If-Match header structure sip_if_match_t.
Definition sip_protos.h:14587
sip_if_match_init
sip_if_match_t * sip_if_match_init(sip_if_match_t x[1])
Initialize a structure sip_if_match_t.
Definition sip_protos.h:14446
sip_if_match_e
issize_t sip_if_match_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP SIP-If-Match header.
sip_if_match_copy
sip_if_match_t * sip_if_match_copy(su_home_t *home, sip_if_match_t const *hdr))
Copy a list of SIP-If-Match header header structures sip_if_match_t.
Definition sip_protos.h:14558
sip_if_match_dup
sip_if_match_t * sip_if_match_dup(su_home_t *home, sip_if_match_t const *hdr))
Duplicate a list of SIP-If-Match header header structures sip_if_match_t.
Definition sip_protos.h:14515
sip_is_if_match
int sip_is_if_match(sip_header_t const *header)
Test if header object is instance of sip_if_match_t.
Definition sip_protos.h:14468
sip_if_match_d
issize_t sip_if_match_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP SIP-If-Match header.
sip_if_match_t
struct msg_generic_s sip_if_match_t
@
Definition sip.h:150
sip_in_reply_to_dup
sip_in_reply_to_t * sip_in_reply_to_dup(su_home_t *home, sip_in_reply_to_t const *hdr))
Duplicate a list of In-Reply-To header header structures sip_in_reply_to_t.
Definition sip_protos.h:6899
sip_in_reply_to_hash
@ sip_in_reply_to_hash
@
Definition sip_hclasses.h:696
sip_in_reply_to_make
sip_in_reply_to_t * sip_in_reply_to_make(su_home_t *home, char const *s))
Make a In-Reply-To header structure sip_in_reply_to_t.
Definition sip_protos.h:6971
sip_in_reply_to_init
sip_in_reply_to_t * sip_in_reply_to_init(sip_in_reply_to_t x[1])
Initialize a structure sip_in_reply_to_t.
Definition sip_protos.h:6830
sip_in_reply_to_t
msg_list_t sip_in_reply_to_t
@
Definition sip.h:161
sip_is_in_reply_to
int sip_is_in_reply_to(sip_header_t const *header)
Test if header object is instance of sip_in_reply_to_t.
Definition sip_protos.h:6852
sip_in_reply_to_e
issize_t sip_in_reply_to_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP In-Reply-To header.
sip_in_reply_to_class
msg_hclass_t sip_in_reply_to_class[]
Header class for In-Reply-To header.
Definition sip_extra.c:409
sip_in_reply_to_copy
sip_in_reply_to_t * sip_in_reply_to_copy(su_home_t *home, sip_in_reply_to_t const *hdr))
Copy a list of In-Reply-To header header structures sip_in_reply_to_t.
Definition sip_protos.h:6942
sip_in_reply_to_format
sip_in_reply_to_t * sip_in_reply_to_format(su_home_t *home, char const *fmt,...)))
Make a In-Reply-To header from formatting result.
Definition sip_protos.h:7002
sip_in_reply_to_d
issize_t sip_in_reply_to_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP In-Reply-To header.
sip_max_forwards_make
sip_max_forwards_t * sip_max_forwards_make(su_home_t *home, char const *s))
Make a Max-Forwards header structure sip_max_forwards_t.
Definition sip_protos.h:1497
sip_max_forwards_format
sip_max_forwards_t * sip_max_forwards_format(su_home_t *home, char const *fmt,...)))
Make a Max-Forwards header from formatting result.
Definition sip_protos.h:1528
sip_max_forwards_dup
sip_max_forwards_t * sip_max_forwards_dup(su_home_t *home, sip_max_forwards_t const *hdr))
Duplicate a list of Max-Forwards header header structures sip_max_forwards_t.
Definition sip_protos.h:1425
sip_max_forwards_copy
sip_max_forwards_t * sip_max_forwards_copy(su_home_t *home, sip_max_forwards_t const *hdr))
Copy a list of Max-Forwards header header structures sip_max_forwards_t.
Definition sip_protos.h:1468
sip_max_forwards_d
issize_t sip_max_forwards_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Max-Forwards header.
sip_max_forwards_e
issize_t sip_max_forwards_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Max-Forwards header.
sip_max_forwards_t
struct sip_max_forwards_s sip_max_forwards_t
@
Definition sip.h:162
sip_max_forwards_hash
@ sip_max_forwards_hash
@
Definition sip_hclasses.h:167
sip_max_forwards_class
msg_hclass_t sip_max_forwards_class[]
Header class for Max-Forwards header.
Definition sip_basic.c:1897
sip_is_max_forwards
int sip_is_max_forwards(sip_header_t const *header)
Test if header object is instance of sip_max_forwards_t.
Definition sip_protos.h:1378
sip_max_forwards_init
sip_max_forwards_t * sip_max_forwards_init(sip_max_forwards_t x[1])
Initialize a structure sip_max_forwards_t.
Definition sip_protos.h:1356
sip_mime_version_e
issize_t sip_mime_version_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP MIME-Version header.
sip_mime_version_make
sip_mime_version_t * sip_mime_version_make(su_home_t *home, char const *s))
Make a MIME-Version header structure sip_mime_version_t.
Definition sip_protos.h:14825
sip_mime_version_init
sip_mime_version_t * sip_mime_version_init(sip_mime_version_t x[1])
Initialize a structure sip_mime_version_t.
Definition sip_protos.h:14684
sip_is_mime_version
int sip_is_mime_version(sip_header_t const *header)
Test if header object is instance of sip_mime_version_t.
Definition sip_protos.h:14706
sip_mime_version_d
issize_t sip_mime_version_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP MIME-Version header.
sip_mime_version_hash
@ sip_mime_version_hash
@
Definition sip_hclasses.h:1455
sip_mime_version_class
msg_hclass_t sip_mime_version_class[]
Header class for MIME-Version header.
Definition sip_mime.c:613
sip_mime_version_copy
sip_mime_version_t * sip_mime_version_copy(su_home_t *home, sip_mime_version_t const *hdr))
Copy a list of MIME-Version header header structures sip_mime_version_t.
Definition sip_protos.h:14796
sip_mime_version_format
sip_mime_version_t * sip_mime_version_format(su_home_t *home, char const *fmt,...)))
Make a MIME-Version header from formatting result.
Definition sip_protos.h:14856
sip_mime_version_t
struct msg_generic_s sip_mime_version_t
@
Definition sip.h:156
sip_mime_version_dup
sip_mime_version_t * sip_mime_version_dup(su_home_t *home, sip_mime_version_t const *hdr))
Duplicate a list of MIME-Version header header structures sip_mime_version_t.
Definition sip_protos.h:14753
sip_min_expires_d
issize_t sip_min_expires_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Min-Expires header.
sip_min_expires_hash
@ sip_min_expires_hash
@
Definition sip_hclasses.h:535
sip_min_expires_init
sip_min_expires_t * sip_min_expires_init(sip_min_expires_t x[1])
Initialize a structure sip_min_expires_t.
Definition sip_protos.h:5164
sip_is_min_expires
int sip_is_min_expires(sip_header_t const *header)
Test if header object is instance of sip_min_expires_t.
Definition sip_protos.h:5186
sip_min_expires_dup
sip_min_expires_t * sip_min_expires_dup(su_home_t *home, sip_min_expires_t const *hdr))
Duplicate a list of Min-Expires header header structures sip_min_expires_t.
Definition sip_protos.h:5233
sip_min_expires_e
issize_t sip_min_expires_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Min-Expires header.
sip_min_expires_t
struct sip_min_expires_s sip_min_expires_t
@
Definition sip.h:163
sip_min_expires_class
msg_hclass_t sip_min_expires_class[]
Header class for Min-Expires header.
Definition sip_basic.c:1943
sip_min_expires_make
sip_min_expires_t * sip_min_expires_make(su_home_t *home, char const *s))
Make a Min-Expires header structure sip_min_expires_t.
Definition sip_protos.h:5305
sip_min_expires_format
sip_min_expires_t * sip_min_expires_format(su_home_t *home, char const *fmt,...)))
Make a Min-Expires header from formatting result.
Definition sip_protos.h:5336
sip_min_expires_copy
sip_min_expires_t * sip_min_expires_copy(su_home_t *home, sip_min_expires_t const *hdr))
Copy a list of Min-Expires header header structures sip_min_expires_t.
Definition sip_protos.h:5276
sip_min_se_format
sip_min_se_t * sip_min_se_format(su_home_t *home, char const *fmt,...)))
Make a Min-SE header from formatting result.
Definition sip_protos.h:12476
sip_min_se_d
issize_t sip_min_se_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Min-SE header.
sip_min_se_make
sip_min_se_t * sip_min_se_make(su_home_t *home, char const *s))
Make a Min-SE header structure sip_min_se_t.
Definition sip_protos.h:12445
sip_min_se_e
issize_t sip_min_se_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Min-SE header.
sip_min_se_class
msg_hclass_t sip_min_se_class[]
Header class for Min-SE header.
Definition sip_session.c:200
sip_min_se_t
struct sip_min_se_s sip_min_se_t
@
Definition sip.h:164
sip_min_se_hash
@ sip_min_se_hash
@
Definition sip_hclasses.h:1225
sip_min_se_dup
sip_min_se_t * sip_min_se_dup(su_home_t *home, sip_min_se_t const *hdr))
Duplicate a list of Min-SE header header structures sip_min_se_t.
Definition sip_protos.h:12373
sip_is_min_se
int sip_is_min_se(sip_header_t const *header)
Test if header object is instance of sip_min_se_t.
Definition sip_protos.h:12326
sip_min_se_copy
sip_min_se_t * sip_min_se_copy(su_home_t *home, sip_min_se_t const *hdr))
Copy a list of Min-SE header header structures sip_min_se_t.
Definition sip_protos.h:12416
sip_min_se_init
sip_min_se_t * sip_min_se_init(sip_min_se_t x[1])
Initialize a structure sip_min_se_t.
Definition sip_protos.h:12304
sip_organization_make
sip_organization_t * sip_organization_make(su_home_t *home, char const *s))
Make a Organization header structure sip_organization_t.
Definition sip_protos.h:6257
sip_organization_e
issize_t sip_organization_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Organization header.
sip_organization_class
msg_hclass_t sip_organization_class[]
Header class for Organization header.
Definition sip_extra.c:456
sip_is_organization
int sip_is_organization(sip_header_t const *header)
Test if header object is instance of sip_organization_t.
Definition sip_protos.h:6138
sip_organization_d
issize_t sip_organization_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Organization header.
sip_organization_copy
sip_organization_t * sip_organization_copy(su_home_t *home, sip_organization_t const *hdr))
Copy a list of Organization header header structures sip_organization_t.
Definition sip_protos.h:6228
sip_organization_hash
@ sip_organization_hash
@
Definition sip_hclasses.h:627
sip_organization_init
sip_organization_t * sip_organization_init(sip_organization_t x[1])
Initialize a structure sip_organization_t.
Definition sip_protos.h:6116
sip_organization_dup
sip_organization_t * sip_organization_dup(su_home_t *home, sip_organization_t const *hdr))
Duplicate a list of Organization header header structures sip_organization_t.
Definition sip_protos.h:6185
sip_organization_t
struct msg_generic_s sip_organization_t
@
Definition sip.h:165
sip_organization_format
sip_organization_t * sip_organization_format(su_home_t *home, char const *fmt,...)))
Make a Organization header from formatting result.
Definition sip_protos.h:6288
sip_path_dup
sip_path_t * sip_path_dup(su_home_t *home, sip_path_t const *hdr))
Duplicate a list of Path header header structures sip_path_t.
Definition sip_protos.h:12611
sip_path_copy
sip_path_t * sip_path_copy(su_home_t *home, sip_path_t const *hdr))
Copy a list of Path header header structures sip_path_t.
Definition sip_protos.h:12654
sip_path_e
issize_t sip_path_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Path header.
sip_path_hash
@ sip_path_hash
@
Definition sip_hclasses.h:1248
sip_path_t
struct sip_route_s sip_path_t
@
Definition sip.h:211
sip_path_d
issize_t sip_path_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Path header.
sip_path_make
sip_path_t * sip_path_make(su_home_t *home, char const *s))
Make a Path header structure sip_path_t.
Definition sip_protos.h:12683
sip_path_init
sip_path_t * sip_path_init(sip_path_t x[1])
Initialize a structure sip_path_t.
Definition sip_protos.h:12542
sip_is_path
int sip_is_path(sip_header_t const *header)
Test if header object is instance of sip_path_t.
Definition sip_protos.h:12564
sip_path_format
sip_path_t * sip_path_format(su_home_t *home, char const *fmt,...)))
Make a Path header from formatting result.
Definition sip_protos.h:12714
sip_path_class
msg_hclass_t sip_path_class[]
Header class for Path header.
Definition sip_feature.c:528
sip_payload_dup
sip_payload_t * sip_payload_dup(su_home_t *home, sip_payload_t const *hdr))
Duplicate a list of message payload header structures sip_payload_t.
Definition sip_protos.h:16895
sip_payload_hash
@ sip_payload_hash
@
Definition sip_hclasses.h:1662
sip_payload_class
msg_hclass_t sip_payload_class[]
Header class for message payload.
Definition sip_basic.c:433
sip_payload_make
sip_payload_t * sip_payload_make(su_home_t *home, char const *s))
Make a message payload structure sip_payload_t.
Definition sip_protos.h:16967
sip_payload_t
msg_payload_t sip_payload_t
@
Definition sip.h:137
sip_payload_d
issize_t sip_payload_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP message payload.
sip_payload_format
sip_payload_t * sip_payload_format(su_home_t *home, char const *fmt,...)))
Make a message payload from formatting result.
Definition sip_protos.h:16998
sip_is_payload
int sip_is_payload(sip_header_t const *header)
Test if header object is instance of sip_payload_t.
Definition sip_protos.h:16848
sip_payload_copy
sip_payload_t * sip_payload_copy(su_home_t *home, sip_payload_t const *hdr))
Copy a list of message payload header structures sip_payload_t.
Definition sip_protos.h:16938
sip_payload_e
issize_t sip_payload_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP message payload.
sip_payload_init
sip_payload_t * sip_payload_init(sip_payload_t x[1])
Initialize a structure sip_payload_t.
Definition sip_protos.h:16826
sip_priority_d
issize_t sip_priority_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Priority header.
sip_is_priority
int sip_is_priority(sip_header_t const *header)
Test if header object is instance of sip_priority_t.
Definition sip_protos.h:5662
sip_priority_dup
sip_priority_t * sip_priority_dup(su_home_t *home, sip_priority_t const *hdr))
Duplicate a list of Priority header header structures sip_priority_t.
Definition sip_protos.h:5709
sip_priority_init
sip_priority_t * sip_priority_init(sip_priority_t x[1])
Initialize a structure sip_priority_t.
Definition sip_protos.h:5640
sip_priority_e
issize_t sip_priority_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Priority header.
sip_priority_format
sip_priority_t * sip_priority_format(su_home_t *home, char const *fmt,...)))
Make a Priority header from formatting result.
Definition sip_protos.h:5812
sip_priority_make
sip_priority_t * sip_priority_make(su_home_t *home, char const *s))
Make a Priority header structure sip_priority_t.
Definition sip_protos.h:5781
sip_priority_class
msg_hclass_t sip_priority_class[]
Header class for Priority header.
Definition sip_extra.c:505
sip_priority_t
struct msg_generic_s sip_priority_t
@
Definition sip.h:166
sip_priority_hash
@ sip_priority_hash
@
Definition sip_hclasses.h:581
sip_priority_copy
sip_priority_t * sip_priority_copy(su_home_t *home, sip_priority_t const *hdr))
Copy a list of Priority header header structures sip_priority_t.
Definition sip_protos.h:5752
sip_privacy_format
sip_privacy_t * sip_privacy_format(su_home_t *home, char const *fmt,...)))
Make a Privacy header from formatting result.
Definition sip_protos.h:14142
sip_privacy_init
sip_privacy_t * sip_privacy_init(sip_privacy_t x[1])
Initialize a structure sip_privacy_t.
Definition sip_protos.h:13970
sip_privacy_dup
sip_privacy_t * sip_privacy_dup(su_home_t *home, sip_privacy_t const *hdr))
Duplicate a list of Privacy header header structures sip_privacy_t.
Definition sip_protos.h:14039
sip_privacy_copy
sip_privacy_t * sip_privacy_copy(su_home_t *home, sip_privacy_t const *hdr))
Copy a list of Privacy header header structures sip_privacy_t.
Definition sip_protos.h:14082
sip_is_privacy
int sip_is_privacy(sip_header_t const *header)
Test if header object is instance of sip_privacy_t.
Definition sip_protos.h:13992
sip_privacy_make
sip_privacy_t * sip_privacy_make(su_home_t *home, char const *s))
Make a Privacy header structure sip_privacy_t.
Definition sip_protos.h:14111
sip_privacy_e
issize_t sip_privacy_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Privacy header.
sip_privacy_t
struct sip_privacy_s sip_privacy_t
@
Definition sip.h:208
sip_privacy_class
msg_hclass_t sip_privacy_class[]
Header class for Privacy header.
Definition sip_security.c:755
sip_privacy_hash
@ sip_privacy_hash
@
Definition sip_hclasses.h:1386
sip_privacy_d
issize_t sip_privacy_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Privacy header.
sip_proxy_authenticate_t
struct msg_auth_s sip_proxy_authenticate_t
@
Definition sip.h:167
sip_proxy_authenticate_copy
sip_proxy_authenticate_t * sip_proxy_authenticate_copy(su_home_t *home, sip_proxy_authenticate_t const *hdr))
Copy a list of Proxy-Authenticate header header structures sip_proxy_authenticate_t.
Definition sip_protos.h:9560
sip_proxy_authenticate_make
sip_proxy_authenticate_t * sip_proxy_authenticate_make(su_home_t *home, char const *s))
Make a Proxy-Authenticate header structure sip_proxy_authenticate_t.
Definition sip_protos.h:9589
sip_proxy_authenticate_e
issize_t sip_proxy_authenticate_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Proxy-Authenticate header.
sip_is_proxy_authenticate
int sip_is_proxy_authenticate(sip_header_t const *header)
Test if header object is instance of sip_proxy_authenticate_t.
Definition sip_protos.h:9470
sip_proxy_authenticate_hash
@ sip_proxy_authenticate_hash
@
Definition sip_hclasses.h:949
sip_proxy_authenticate_format
sip_proxy_authenticate_t * sip_proxy_authenticate_format(su_home_t *home, char const *fmt,...)))
Make a Proxy-Authenticate header from formatting result.
Definition sip_protos.h:9620
sip_proxy_authenticate_class
msg_hclass_t sip_proxy_authenticate_class[]
Header class for Proxy-Authenticate header.
Definition sip_security.c:200
sip_proxy_authenticate_dup
sip_proxy_authenticate_t * sip_proxy_authenticate_dup(su_home_t *home, sip_proxy_authenticate_t const *hdr))
Duplicate a list of Proxy-Authenticate header header structures sip_proxy_authenticate_t.
Definition sip_protos.h:9517
sip_proxy_authenticate_init
sip_proxy_authenticate_t * sip_proxy_authenticate_init(sip_proxy_authenticate_t x[1])
Initialize a structure sip_proxy_authenticate_t.
Definition sip_protos.h:9448
sip_proxy_authenticate_d
issize_t sip_proxy_authenticate_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Proxy-Authenticate header.
sip_proxy_authentication_info_format
sip_proxy_authentication_info_t * sip_proxy_authentication_info_format(su_home_t *home, char const *fmt,...)))
Make a Proxy-Authentication-Info header from formatting result.
Definition sip_protos.h:9858
sip_proxy_authentication_info_init
sip_proxy_authentication_info_t * sip_proxy_authentication_info_init(sip_proxy_authentication_info_t x[1])
Initialize a structure sip_proxy_authentication_info_t.
Definition sip_protos.h:9686
sip_proxy_authentication_info_copy
sip_proxy_authentication_info_t * sip_proxy_authentication_info_copy(su_home_t *home, sip_proxy_authentication_info_t const *hdr))
Copy a list of Proxy-Authentication-Info header header structures sip_proxy_authentication_info_t.
Definition sip_protos.h:9798
sip_proxy_authentication_info_make
sip_proxy_authentication_info_t * sip_proxy_authentication_info_make(su_home_t *home, char const *s))
Make a Proxy-Authentication-Info header structure sip_proxy_authentication_info_t.
Definition sip_protos.h:9827
sip_proxy_authentication_info_dup
sip_proxy_authentication_info_t * sip_proxy_authentication_info_dup(su_home_t *home, sip_proxy_authentication_info_t const *hdr))
Duplicate a list of Proxy-Authentication-Info header header structures sip_proxy_authentication_info_...
Definition sip_protos.h:9755
sip_proxy_authentication_info_hash
@ sip_proxy_authentication_info_hash
@
Definition sip_hclasses.h:972
sip_proxy_authentication_info_class
msg_hclass_t sip_proxy_authentication_info_class[]
Header class for Proxy-Authentication-Info header.
Definition sip_security.c:434
sip_proxy_authentication_info_e
issize_t sip_proxy_authentication_info_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Proxy-Authentication-Info header.
sip_is_proxy_authentication_info
int sip_is_proxy_authentication_info(sip_header_t const *header)
Test if header object is instance of sip_proxy_authentication_info_t.
Definition sip_protos.h:9708
sip_proxy_authentication_info_t
struct msg_auth_info_s sip_proxy_authentication_info_t
@
Definition sip.h:168
sip_proxy_authentication_info_d
issize_t sip_proxy_authentication_info_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Proxy-Authentication-Info header.
sip_proxy_authorization_dup
sip_proxy_authorization_t * sip_proxy_authorization_dup(su_home_t *home, sip_proxy_authorization_t const *hdr))
Duplicate a list of Proxy-Authorization header header structures sip_proxy_authorization_t.
Definition sip_protos.h:9993
sip_proxy_authorization_t
struct msg_auth_s sip_proxy_authorization_t
@
Definition sip.h:169
sip_proxy_authorization_copy
sip_proxy_authorization_t * sip_proxy_authorization_copy(su_home_t *home, sip_proxy_authorization_t const *hdr))
Copy a list of Proxy-Authorization header header structures sip_proxy_authorization_t.
Definition sip_protos.h:10036
sip_proxy_authorization_format
sip_proxy_authorization_t * sip_proxy_authorization_format(su_home_t *home, char const *fmt,...)))
Make a Proxy-Authorization header from formatting result.
Definition sip_protos.h:10096
sip_proxy_authorization_class
msg_hclass_t sip_proxy_authorization_class[]
Header class for Proxy-Authorization header.
Definition sip_security.c:256
sip_is_proxy_authorization
int sip_is_proxy_authorization(sip_header_t const *header)
Test if header object is instance of sip_proxy_authorization_t.
Definition sip_protos.h:9946
sip_proxy_authorization_e
issize_t sip_proxy_authorization_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Proxy-Authorization header.
sip_proxy_authorization_hash
@ sip_proxy_authorization_hash
@
Definition sip_hclasses.h:995
sip_proxy_authorization_make
sip_proxy_authorization_t * sip_proxy_authorization_make(su_home_t *home, char const *s))
Make a Proxy-Authorization header structure sip_proxy_authorization_t.
Definition sip_protos.h:10065
sip_proxy_authorization_init
sip_proxy_authorization_t * sip_proxy_authorization_init(sip_proxy_authorization_t x[1])
Initialize a structure sip_proxy_authorization_t.
Definition sip_protos.h:9924
sip_proxy_authorization_d
issize_t sip_proxy_authorization_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Proxy-Authorization header.
sip_proxy_require_d
issize_t sip_proxy_require_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Proxy-Require header.
sip_proxy_require_format
sip_proxy_require_t * sip_proxy_require_format(su_home_t *home, char const *fmt,...)))
Make a Proxy-Require header from formatting result.
Definition sip_protos.h:1766
sip_proxy_require_class
msg_hclass_t sip_proxy_require_class[]
Header class for Proxy-Require header.
Definition sip_feature.c:181
sip_proxy_require_hash
@ sip_proxy_require_hash
@
Definition sip_hclasses.h:190
sip_proxy_require_dup
sip_proxy_require_t * sip_proxy_require_dup(su_home_t *home, sip_proxy_require_t const *hdr))
Duplicate a list of Proxy-Require header header structures sip_proxy_require_t.
Definition sip_protos.h:1663
sip_proxy_require_init
sip_proxy_require_t * sip_proxy_require_init(sip_proxy_require_t x[1])
Initialize a structure sip_proxy_require_t.
Definition sip_protos.h:1594
sip_proxy_require_e
issize_t sip_proxy_require_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Proxy-Require header.
sip_proxy_require_make
sip_proxy_require_t * sip_proxy_require_make(su_home_t *home, char const *s))
Make a Proxy-Require header structure sip_proxy_require_t.
Definition sip_protos.h:1735
sip_proxy_require_copy
sip_proxy_require_t * sip_proxy_require_copy(su_home_t *home, sip_proxy_require_t const *hdr))
Copy a list of Proxy-Require header header structures sip_proxy_require_t.
Definition sip_protos.h:1706
sip_proxy_require_t
msg_list_t sip_proxy_require_t
@
Definition sip.h:170
sip_is_proxy_require
int sip_is_proxy_require(sip_header_t const *header)
Test if header object is instance of sip_proxy_require_t.
Definition sip_protos.h:1616
sip_rack_dup
sip_rack_t * sip_rack_dup(su_home_t *home, sip_rack_t const *hdr))
Duplicate a list of RAck header header structures sip_rack_t.
Definition sip_protos.h:3329
sip_rack_hash
@ sip_rack_hash
@
Definition sip_hclasses.h:351
sip_rack_e
issize_t sip_rack_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP RAck header.
sip_rack_format
sip_rack_t * sip_rack_format(su_home_t *home, char const *fmt,...)))
Make a RAck header from formatting result.
Definition sip_protos.h:3432
sip_is_rack
int sip_is_rack(sip_header_t const *header)
Test if header object is instance of sip_rack_t.
Definition sip_protos.h:3282
sip_rack_class
msg_hclass_t sip_rack_class[]
Header class for RAck header.
Definition sip_prack.c:94
sip_rack_copy
sip_rack_t * sip_rack_copy(su_home_t *home, sip_rack_t const *hdr))
Copy a list of RAck header header structures sip_rack_t.
Definition sip_protos.h:3372
sip_rack_t
struct sip_rack_s sip_rack_t
@
Definition sip.h:171
sip_rack_d
issize_t sip_rack_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP RAck header.
sip_rack_init
sip_rack_t * sip_rack_init(sip_rack_t x[1])
Initialize a structure sip_rack_t.
Definition sip_protos.h:3260
sip_rack_make
sip_rack_t * sip_rack_make(su_home_t *home, char const *s))
Make a RAck header structure sip_rack_t.
Definition sip_protos.h:3401
sip_reason_init
sip_reason_t * sip_reason_init(sip_reason_t x[1])
Initialize a structure sip_reason_t.
Definition sip_protos.h:13018
sip_reason_d
issize_t sip_reason_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Reason header.
sip_reason_copy
sip_reason_t * sip_reason_copy(su_home_t *home, sip_reason_t const *hdr))
Copy a list of Reason header header structures sip_reason_t.
Definition sip_protos.h:13130
sip_reason_make
sip_reason_t * sip_reason_make(su_home_t *home, char const *s))
Make a Reason header structure sip_reason_t.
Definition sip_protos.h:13159
sip_reason_format
sip_reason_t * sip_reason_format(su_home_t *home, char const *fmt,...)))
Make a Reason header from formatting result.
Definition sip_protos.h:13190
sip_reason_t
struct sip_reason_s sip_reason_t
@
Definition sip.h:172
sip_reason_class
msg_hclass_t sip_reason_class[]
Header class for Reason header.
Definition sip_reason.c:94
sip_is_reason
int sip_is_reason(sip_header_t const *header)
Test if header object is instance of sip_reason_t.
Definition sip_protos.h:13040
sip_reason_hash
@ sip_reason_hash
@
Definition sip_hclasses.h:1294
sip_reason_dup
sip_reason_t * sip_reason_dup(su_home_t *home, sip_reason_t const *hdr))
Duplicate a list of Reason header header structures sip_reason_t.
Definition sip_protos.h:13087
sip_reason_e
issize_t sip_reason_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Reason header.
sip_record_route_make
sip_record_route_t * sip_record_route_make(su_home_t *home, char const *s))
Make a Record-Route header structure sip_record_route_t.
Definition sip_protos.h:1259
sip_record_route_init
sip_record_route_t * sip_record_route_init(sip_record_route_t x[1])
Initialize a structure sip_record_route_t.
Definition sip_protos.h:1118
sip_record_route_class
msg_hclass_t sip_record_route_class[]
Header class for Record-Route header.
Definition sip_basic.c:2323
sip_record_route_d
issize_t sip_record_route_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Record-Route header.
sip_is_record_route
int sip_is_record_route(sip_header_t const *header)
Test if header object is instance of sip_record_route_t.
Definition sip_protos.h:1140
sip_record_route_format
sip_record_route_t * sip_record_route_format(su_home_t *home, char const *fmt,...)))
Make a Record-Route header from formatting result.
Definition sip_protos.h:1290
sip_record_route_e
issize_t sip_record_route_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Record-Route header.
sip_record_route_copy
sip_record_route_t * sip_record_route_copy(su_home_t *home, sip_record_route_t const *hdr))
Copy a list of Record-Route header header structures sip_record_route_t.
Definition sip_protos.h:1230
sip_record_route_t
struct sip_route_s sip_record_route_t
@
Definition sip.h:173
sip_record_route_hash
@ sip_record_route_hash
@
Definition sip_hclasses.h:144
sip_record_route_dup
sip_record_route_t * sip_record_route_dup(su_home_t *home, sip_record_route_t const *hdr))
Duplicate a list of Record-Route header header structures sip_record_route_t.
Definition sip_protos.h:1187
sip_is_refer_to
int sip_is_refer_to(sip_header_t const *header)
Test if header object is instance of sip_refer_to_t.
Definition sip_protos.h:11374
sip_refer_to_make
sip_refer_to_t * sip_refer_to_make(su_home_t *home, char const *s))
Make a Refer-To header structure sip_refer_to_t.
Definition sip_protos.h:11493
sip_refer_to_class
msg_hclass_t sip_refer_to_class[]
Header class for Refer-To header.
Definition sip_refer.c:93
sip_refer_to_t
struct sip_refer_to_s sip_refer_to_t
@
Definition sip.h:175
sip_refer_to_format
sip_refer_to_t * sip_refer_to_format(su_home_t *home, char const *fmt,...)))
Make a Refer-To header from formatting result.
Definition sip_protos.h:11524
sip_refer_to_hash
@ sip_refer_to_hash
@
Definition sip_hclasses.h:1133
sip_refer_to_d
issize_t sip_refer_to_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Refer-To header.
sip_refer_to_copy
sip_refer_to_t * sip_refer_to_copy(su_home_t *home, sip_refer_to_t const *hdr))
Copy a list of Refer-To header header structures sip_refer_to_t.
Definition sip_protos.h:11464
sip_refer_to_init
sip_refer_to_t * sip_refer_to_init(sip_refer_to_t x[1])
Initialize a structure sip_refer_to_t.
Definition sip_protos.h:11352
sip_refer_to_dup
sip_refer_to_t * sip_refer_to_dup(su_home_t *home, sip_refer_to_t const *hdr))
Duplicate a list of Refer-To header header structures sip_refer_to_t.
Definition sip_protos.h:11421
sip_refer_to_e
issize_t sip_refer_to_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Refer-To header.
sip_referred_by_copy
sip_referred_by_t * sip_referred_by_copy(su_home_t *home, sip_referred_by_t const *hdr))
Copy a list of Referred-By header header structures sip_referred_by_t.
Definition sip_protos.h:11702
sip_referred_by_class
msg_hclass_t sip_referred_by_class[]
Header class for Referred-By header.
Definition sip_refer.c:221
sip_referred_by_format
sip_referred_by_t * sip_referred_by_format(su_home_t *home, char const *fmt,...)))
Make a Referred-By header from formatting result.
Definition sip_protos.h:11762
sip_referred_by_dup
sip_referred_by_t * sip_referred_by_dup(su_home_t *home, sip_referred_by_t const *hdr))
Duplicate a list of Referred-By header header structures sip_referred_by_t.
Definition sip_protos.h:11659
sip_referred_by_e
issize_t sip_referred_by_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Referred-By header.
sip_referred_by_init
sip_referred_by_t * sip_referred_by_init(sip_referred_by_t x[1])
Initialize a structure sip_referred_by_t.
Definition sip_protos.h:11590
sip_referred_by_make
sip_referred_by_t * sip_referred_by_make(su_home_t *home, char const *s))
Make a Referred-By header structure sip_referred_by_t.
Definition sip_protos.h:11731
sip_is_referred_by
int sip_is_referred_by(sip_header_t const *header)
Test if header object is instance of sip_referred_by_t.
Definition sip_protos.h:11612
sip_referred_by_t
struct sip_referred_by_s sip_referred_by_t
@
Definition sip.h:176
sip_referred_by_hash
@ sip_referred_by_hash
@
Definition sip_hclasses.h:1156
sip_referred_by_d
issize_t sip_referred_by_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Referred-By header.
sip_reject_contact_t
struct sip_caller_prefs_s sip_reject_contact_t
@
Definition sip.h:183
sip_reject_contact_d
issize_t sip_reject_contact_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Reject-Contact header.
sip_reject_contact_format
sip_reject_contact_t * sip_reject_contact_format(su_home_t *home, char const *fmt,...)))
Make a Reject-Contact header from formatting result.
Definition sip_protos.h:4146
sip_reject_contact_copy
sip_reject_contact_t * sip_reject_contact_copy(su_home_t *home, sip_reject_contact_t const *hdr))
Copy a list of Reject-Contact header header structures sip_reject_contact_t.
Definition sip_protos.h:4086
sip_reject_contact_make
sip_reject_contact_t * sip_reject_contact_make(su_home_t *home, char const *s))
Make a Reject-Contact header structure sip_reject_contact_t.
Definition sip_protos.h:4115
sip_reject_contact_e
issize_t sip_reject_contact_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Reject-Contact header.
sip_is_reject_contact
int sip_is_reject_contact(sip_header_t const *header)
Test if header object is instance of sip_reject_contact_t.
Definition sip_protos.h:3996
sip_reject_contact_class
msg_hclass_t sip_reject_contact_class[]
Header class for Reject-Contact header.
Definition sip_caller_prefs.c:414
sip_reject_contact_hash
@ sip_reject_contact_hash
@
Definition sip_hclasses.h:420
sip_reject_contact_init
sip_reject_contact_t * sip_reject_contact_init(sip_reject_contact_t x[1])
Initialize a structure sip_reject_contact_t.
Definition sip_protos.h:3974
sip_reject_contact_dup
sip_reject_contact_t * sip_reject_contact_dup(su_home_t *home, sip_reject_contact_t const *hdr))
Duplicate a list of Reject-Contact header header structures sip_reject_contact_t.
Definition sip_protos.h:4043
sip_replaces_e
issize_t sip_replaces_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Replaces header.
sip_replaces_init
sip_replaces_t * sip_replaces_init(sip_replaces_t x[1])
Initialize a structure sip_replaces_t.
Definition sip_protos.h:11828
sip_replaces_copy
sip_replaces_t * sip_replaces_copy(su_home_t *home, sip_replaces_t const *hdr))
Copy a list of Replaces header header structures sip_replaces_t.
Definition sip_protos.h:11940
sip_replaces_make
sip_replaces_t * sip_replaces_make(su_home_t *home, char const *s))
Make a Replaces header structure sip_replaces_t.
Definition sip_protos.h:11969
sip_replaces_d
issize_t sip_replaces_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Replaces header.
sip_replaces_t
struct sip_replaces_s sip_replaces_t
@
Definition sip.h:177
sip_is_replaces
int sip_is_replaces(sip_header_t const *header)
Test if header object is instance of sip_replaces_t.
Definition sip_protos.h:11850
sip_replaces_format
sip_replaces_t * sip_replaces_format(su_home_t *home, char const *fmt,...)))
Make a Replaces header from formatting result.
Definition sip_protos.h:12000
sip_replaces_hash
@ sip_replaces_hash
@
Definition sip_hclasses.h:1179
sip_replaces_class
msg_hclass_t sip_replaces_class[]
Header class for Replaces header.
Definition sip_refer.c:354
sip_replaces_dup
sip_replaces_t * sip_replaces_dup(su_home_t *home, sip_replaces_t const *hdr))
Duplicate a list of Replaces header header structures sip_replaces_t.
Definition sip_protos.h:11897
sip_request_disposition_dup
sip_request_disposition_t * sip_request_disposition_dup(su_home_t *home, sip_request_disposition_t const *hdr))
Duplicate a list of Request-Disposition header header structures sip_request_disposition_t.
Definition sip_protos.h:3567
sip_request_disposition_hash
@ sip_request_disposition_hash
@
Definition sip_hclasses.h:374
sip_request_disposition_d
issize_t sip_request_disposition_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Request-Disposition header.
sip_request_disposition_e
issize_t sip_request_disposition_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Request-Disposition header.
sip_is_request_disposition
int sip_is_request_disposition(sip_header_t const *header)
Test if header object is instance of sip_request_disposition_t.
Definition sip_protos.h:3520
sip_request_disposition_copy
sip_request_disposition_t * sip_request_disposition_copy(su_home_t *home, sip_request_disposition_t const *hdr))
Copy a list of Request-Disposition header header structures sip_request_disposition_t.
Definition sip_protos.h:3610
sip_request_disposition_format
sip_request_disposition_t * sip_request_disposition_format(su_home_t *home, char const *fmt,...)))
Make a Request-Disposition header from formatting result.
Definition sip_protos.h:3670
sip_request_disposition_init
sip_request_disposition_t * sip_request_disposition_init(sip_request_disposition_t x[1])
Initialize a structure sip_request_disposition_t.
Definition sip_protos.h:3498
sip_request_disposition_class
msg_hclass_t sip_request_disposition_class[]
Header class for Request-Disposition header.
Definition sip_caller_prefs.c:98
sip_request_disposition_t
struct sip_request_disposition_s sip_request_disposition_t
@
Definition sip.h:179
sip_request_disposition_make
sip_request_disposition_t * sip_request_disposition_make(su_home_t *home, char const *s))
Make a Request-Disposition header structure sip_request_disposition_t.
Definition sip_protos.h:3639
sip_request_dup
sip_request_t * sip_request_dup(su_home_t *home, sip_request_t const *hdr))
Duplicate a list of request line header structures sip_request_t.
Definition sip_protos.h:235
sip_request_copy
sip_request_t * sip_request_copy(su_home_t *home, sip_request_t const *hdr))
Copy a list of request line header structures sip_request_t.
Definition sip_protos.h:278
sip_request_make
sip_request_t * sip_request_make(su_home_t *home, char const *s))
Make a request line structure sip_request_t.
Definition sip_protos.h:307
sip_request_e
issize_t sip_request_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP request line.
sip_request_init
sip_request_t * sip_request_init(sip_request_t x[1])
Initialize a structure sip_request_t.
Definition sip_protos.h:166
sip_request_format
sip_request_t * sip_request_format(su_home_t *home, char const *fmt,...)))
Make a request line from formatting result.
Definition sip_protos.h:338
sip_is_request
int sip_is_request(sip_header_t const *header)
Test if header object is instance of sip_request_t.
Definition sip_protos.h:188
sip_request_t
struct sip_request_s sip_request_t
@
Definition sip.h:132
sip_request_class
msg_hclass_t sip_request_class[]
Header class for request line.
Definition sip_basic.c:120
sip_request_d
issize_t sip_request_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP request line.
sip_request_hash
@ sip_request_hash
@
Definition sip_hclasses.h:52
sip_require_format
sip_require_t * sip_require_format(su_home_t *home, char const *fmt,...)))
Make a Require header from formatting result.
Definition sip_protos.h:8192
sip_require_class
msg_hclass_t sip_require_class[]
Header class for Require header.
Definition sip_feature.c:229
sip_require_hash
@ sip_require_hash
@
Definition sip_hclasses.h:811
sip_require_e
issize_t sip_require_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Require header.
sip_require_dup
sip_require_t * sip_require_dup(su_home_t *home, sip_require_t const *hdr))
Duplicate a list of Require header header structures sip_require_t.
Definition sip_protos.h:8089
sip_require_init
sip_require_t * sip_require_init(sip_require_t x[1])
Initialize a structure sip_require_t.
Definition sip_protos.h:8020
sip_require_copy
sip_require_t * sip_require_copy(su_home_t *home, sip_require_t const *hdr))
Copy a list of Require header header structures sip_require_t.
Definition sip_protos.h:8132
sip_require_make
sip_require_t * sip_require_make(su_home_t *home, char const *s))
Make a Require header structure sip_require_t.
Definition sip_protos.h:8161
sip_require_d
issize_t sip_require_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Require header.
sip_is_require
int sip_is_require(sip_header_t const *header)
Test if header object is instance of sip_require_t.
Definition sip_protos.h:8042
sip_require_t
msg_list_t sip_require_t
@
Definition sip.h:185
sip_retry_after_d
issize_t sip_retry_after_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Retry-After header.
sip_retry_after_copy
sip_retry_after_t * sip_retry_after_copy(su_home_t *home, sip_retry_after_t const *hdr))
Copy a list of Retry-After header header structures sip_retry_after_t.
Definition sip_protos.h:4800
sip_retry_after_hash
@ sip_retry_after_hash
@
Definition sip_hclasses.h:489
sip_retry_after_t
struct sip_retry_after_s sip_retry_after_t
@
Definition sip.h:186
sip_retry_after_dup
sip_retry_after_t * sip_retry_after_dup(su_home_t *home, sip_retry_after_t const *hdr))
Duplicate a list of Retry-After header header structures sip_retry_after_t.
Definition sip_protos.h:4757
sip_retry_after_e
issize_t sip_retry_after_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Retry-After header.
sip_is_retry_after
int sip_is_retry_after(sip_header_t const *header)
Test if header object is instance of sip_retry_after_t.
Definition sip_protos.h:4710
sip_retry_after_class
msg_hclass_t sip_retry_after_class[]
Header class for Retry-After header.
Definition sip_basic.c:2001
sip_retry_after_init
sip_retry_after_t * sip_retry_after_init(sip_retry_after_t x[1])
Initialize a structure sip_retry_after_t.
Definition sip_protos.h:4688
sip_retry_after_make
sip_retry_after_t * sip_retry_after_make(su_home_t *home, char const *s))
Make a Retry-After header structure sip_retry_after_t.
Definition sip_protos.h:4829
sip_retry_after_format
sip_retry_after_t * sip_retry_after_format(su_home_t *home, char const *fmt,...)))
Make a Retry-After header from formatting result.
Definition sip_protos.h:4860
sip_route_class
msg_hclass_t sip_route_class[]
Header class for Route header.
Definition sip_basic.c:2250
sip_route_hash
@ sip_route_hash
@
Definition sip_hclasses.h:121
sip_route_format
sip_route_t * sip_route_format(su_home_t *home, char const *fmt,...)))
Make a Route header from formatting result.
Definition sip_protos.h:1052
sip_route_init
sip_route_t * sip_route_init(sip_route_t x[1])
Initialize a structure sip_route_t.
Definition sip_protos.h:880
sip_route_make
sip_route_t * sip_route_make(su_home_t *home, char const *s))
Make a Route header structure sip_route_t.
Definition sip_protos.h:1021
sip_route_e
issize_t sip_route_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Route header.
sip_is_route
int sip_is_route(sip_header_t const *header)
Test if header object is instance of sip_route_t.
Definition sip_protos.h:902
sip_route_dup
sip_route_t * sip_route_dup(su_home_t *home, sip_route_t const *hdr))
Duplicate a list of Route header header structures sip_route_t.
Definition sip_protos.h:949
sip_route_copy
sip_route_t * sip_route_copy(su_home_t *home, sip_route_t const *hdr))
Copy a list of Route header header structures sip_route_t.
Definition sip_protos.h:992
sip_route_d
issize_t sip_route_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Route header.
sip_route_t
struct sip_route_s sip_route_t
@
Definition sip.h:187
sip_rseq_format
sip_rseq_t * sip_rseq_format(su_home_t *home, char const *fmt,...)))
Make a RSeq header from formatting result.
Definition sip_protos.h:3194
sip_rseq_t
struct sip_rseq_s sip_rseq_t
@
Definition sip.h:188
sip_rseq_hash
@ sip_rseq_hash
@
Definition sip_hclasses.h:328
sip_is_rseq
int sip_is_rseq(sip_header_t const *header)
Test if header object is instance of sip_rseq_t.
Definition sip_protos.h:3044
sip_rseq_d
issize_t sip_rseq_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP RSeq header.
sip_rseq_dup
sip_rseq_t * sip_rseq_dup(su_home_t *home, sip_rseq_t const *hdr))
Duplicate a list of RSeq header header structures sip_rseq_t.
Definition sip_protos.h:3091
sip_rseq_make
sip_rseq_t * sip_rseq_make(su_home_t *home, char const *s))
Make a RSeq header structure sip_rseq_t.
Definition sip_protos.h:3163
sip_rseq_copy
sip_rseq_t * sip_rseq_copy(su_home_t *home, sip_rseq_t const *hdr))
Copy a list of RSeq header header structures sip_rseq_t.
Definition sip_protos.h:3134
sip_rseq_class
msg_hclass_t sip_rseq_class[]
Header class for RSeq header.
Definition sip_prack.c:192
sip_rseq_e
issize_t sip_rseq_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP RSeq header.
sip_rseq_init
sip_rseq_t * sip_rseq_init(sip_rseq_t x[1])
Initialize a structure sip_rseq_t.
Definition sip_protos.h:3022
sip_security_client_e
issize_t sip_security_client_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Security-Client header.
sip_security_client_hash
@ sip_security_client_hash
@
Definition sip_hclasses.h:1317
sip_is_security_client
int sip_is_security_client(sip_header_t const *header)
Test if header object is instance of sip_security_client_t.
Definition sip_protos.h:13278
sip_security_client_copy
sip_security_client_t * sip_security_client_copy(su_home_t *home, sip_security_client_t const *hdr))
Copy a list of Security-Client header header structures sip_security_client_t.
Definition sip_protos.h:13368
sip_security_client_init
sip_security_client_t * sip_security_client_init(sip_security_client_t x[1])
Initialize a structure sip_security_client_t.
Definition sip_protos.h:13256
sip_security_client_dup
sip_security_client_t * sip_security_client_dup(su_home_t *home, sip_security_client_t const *hdr))
Duplicate a list of Security-Client header header structures sip_security_client_t.
Definition sip_protos.h:13325
sip_security_client_d
issize_t sip_security_client_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Security-Client header.
sip_security_client_class
msg_hclass_t sip_security_client_class[]
Header class for Security-Client header.
Definition sip_security.c:604
sip_security_client_make
sip_security_client_t * sip_security_client_make(su_home_t *home, char const *s))
Make a Security-Client header structure sip_security_client_t.
Definition sip_protos.h:13397
sip_security_client_format
sip_security_client_t * sip_security_client_format(su_home_t *home, char const *fmt,...)))
Make a Security-Client header from formatting result.
Definition sip_protos.h:13428
sip_security_client_t
struct sip_security_agree_s sip_security_client_t
@
Definition sip.h:214
sip_security_server_class
msg_hclass_t sip_security_server_class[]
Header class for Security-Server header.
Definition sip_security.c:653
sip_security_server_init
sip_security_server_t * sip_security_server_init(sip_security_server_t x[1])
Initialize a structure sip_security_server_t.
Definition sip_protos.h:13494
sip_is_security_server
int sip_is_security_server(sip_header_t const *header)
Test if header object is instance of sip_security_server_t.
Definition sip_protos.h:13516
sip_security_server_copy
sip_security_server_t * sip_security_server_copy(su_home_t *home, sip_security_server_t const *hdr))
Copy a list of Security-Server header header structures sip_security_server_t.
Definition sip_protos.h:13606
sip_security_server_hash
@ sip_security_server_hash
@
Definition sip_hclasses.h:1340
sip_security_server_dup
sip_security_server_t * sip_security_server_dup(su_home_t *home, sip_security_server_t const *hdr))
Duplicate a list of Security-Server header header structures sip_security_server_t.
Definition sip_protos.h:13563
sip_security_server_make
sip_security_server_t * sip_security_server_make(su_home_t *home, char const *s))
Make a Security-Server header structure sip_security_server_t.
Definition sip_protos.h:13635
sip_security_server_e
issize_t sip_security_server_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Security-Server header.
sip_security_server_t
struct sip_security_agree_s sip_security_server_t
@
Definition sip.h:215
sip_security_server_format
sip_security_server_t * sip_security_server_format(su_home_t *home, char const *fmt,...)))
Make a Security-Server header from formatting result.
Definition sip_protos.h:13666
sip_security_server_d
issize_t sip_security_server_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Security-Server header.
sip_security_verify_d
issize_t sip_security_verify_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Security-Verify header.
sip_security_verify_class
msg_hclass_t sip_security_verify_class[]
Header class for Security-Verify header.
Definition sip_security.c:703
sip_security_verify_dup
sip_security_verify_t * sip_security_verify_dup(su_home_t *home, sip_security_verify_t const *hdr))
Duplicate a list of Security-Verify header header structures sip_security_verify_t.
Definition sip_protos.h:13801
sip_security_verify_format
sip_security_verify_t * sip_security_verify_format(su_home_t *home, char const *fmt,...)))
Make a Security-Verify header from formatting result.
Definition sip_protos.h:13904
sip_security_verify_init
sip_security_verify_t * sip_security_verify_init(sip_security_verify_t x[1])
Initialize a structure sip_security_verify_t.
Definition sip_protos.h:13732
sip_security_verify_copy
sip_security_verify_t * sip_security_verify_copy(su_home_t *home, sip_security_verify_t const *hdr))
Copy a list of Security-Verify header header structures sip_security_verify_t.
Definition sip_protos.h:13844
sip_security_verify_make
sip_security_verify_t * sip_security_verify_make(su_home_t *home, char const *s))
Make a Security-Verify header structure sip_security_verify_t.
Definition sip_protos.h:13873
sip_security_verify_t
struct sip_security_agree_s sip_security_verify_t
@
Definition sip.h:216
sip_is_security_verify
int sip_is_security_verify(sip_header_t const *header)
Test if header object is instance of sip_security_verify_t.
Definition sip_protos.h:13754
sip_security_verify_e
issize_t sip_security_verify_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Security-Verify header.
sip_security_verify_hash
@ sip_security_verify_hash
@
Definition sip_hclasses.h:1363
sip_separator_t
msg_separator_t sip_separator_t
@
Definition sip.h:136
sip_separator_class
msg_hclass_t sip_separator_class[]
Header class for separator line between headers and body.
Definition sip_basic.c:507
sip_separator_e
issize_t sip_separator_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP separator line between headers and body.
sip_separator_format
sip_separator_t * sip_separator_format(su_home_t *home, char const *fmt,...)))
Make a separator line between headers and body from formatting result.
Definition sip_protos.h:16760
sip_separator_dup
sip_separator_t * sip_separator_dup(su_home_t *home, sip_separator_t const *hdr))
Duplicate a list of separator line between headers and body header structures sip_separator_t.
Definition sip_protos.h:16657
sip_separator_hash
@ sip_separator_hash
@
Definition sip_hclasses.h:1639
sip_separator_copy
sip_separator_t * sip_separator_copy(su_home_t *home, sip_separator_t const *hdr))
Copy a list of separator line between headers and body header structures sip_separator_t.
Definition sip_protos.h:16700
sip_is_separator
int sip_is_separator(sip_header_t const *header)
Test if header object is instance of sip_separator_t.
Definition sip_protos.h:16610
sip_separator_make
sip_separator_t * sip_separator_make(su_home_t *home, char const *s))
Make a separator line between headers and body structure sip_separator_t.
Definition sip_protos.h:16729
sip_separator_d
issize_t sip_separator_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP separator line between headers and body.
sip_separator_init
sip_separator_t * sip_separator_init(sip_separator_t x[1])
Initialize a structure sip_separator_t.
Definition sip_protos.h:16588
sip_server_class
msg_hclass_t sip_server_class[]
Header class for Server header.
Definition sip_extra.c:562
sip_server_copy
sip_server_t * sip_server_copy(su_home_t *home, sip_server_t const *hdr))
Copy a list of Server header header structures sip_server_t.
Definition sip_protos.h:6466
sip_server_make
sip_server_t * sip_server_make(su_home_t *home, char const *s))
Make a Server header structure sip_server_t.
Definition sip_protos.h:6495
sip_is_server
int sip_is_server(sip_header_t const *header)
Test if header object is instance of sip_server_t.
Definition sip_protos.h:6376
sip_server_dup
sip_server_t * sip_server_dup(su_home_t *home, sip_server_t const *hdr))
Duplicate a list of Server header header structures sip_server_t.
Definition sip_protos.h:6423
sip_server_init
sip_server_t * sip_server_init(sip_server_t x[1])
Initialize a structure sip_server_t.
Definition sip_protos.h:6354
sip_server_t
struct msg_generic_s sip_server_t
@
Definition sip.h:189
sip_server_d
issize_t sip_server_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Server header.
sip_server_hash
@ sip_server_hash
@
Definition sip_hclasses.h:650
sip_server_e
issize_t sip_server_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Server header.
sip_server_format
sip_server_t * sip_server_format(su_home_t *home, char const *fmt,...)))
Make a Server header from formatting result.
Definition sip_protos.h:6526
sip_service_route_copy
sip_service_route_t * sip_service_route_copy(su_home_t *home, sip_service_route_t const *hdr))
Copy a list of Service-Route header header structures sip_service_route_t.
Definition sip_protos.h:12892
sip_service_route_make
sip_service_route_t * sip_service_route_make(su_home_t *home, char const *s))
Make a Service-Route header structure sip_service_route_t.
Definition sip_protos.h:12921
sip_service_route_hash
@ sip_service_route_hash
@
Definition sip_hclasses.h:1271
sip_service_route_class
msg_hclass_t sip_service_route_class[]
Header class for Service-Route header.
Definition sip_feature.c:583
sip_service_route_format
sip_service_route_t * sip_service_route_format(su_home_t *home, char const *fmt,...)))
Make a Service-Route header from formatting result.
Definition sip_protos.h:12952
sip_service_route_init
sip_service_route_t * sip_service_route_init(sip_service_route_t x[1])
Initialize a structure sip_service_route_t.
Definition sip_protos.h:12780
sip_service_route_d
issize_t sip_service_route_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Service-Route header.
sip_service_route_t
struct sip_route_s sip_service_route_t
@
Definition sip.h:219
sip_service_route_e
issize_t sip_service_route_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Service-Route header.
sip_service_route_dup
sip_service_route_t * sip_service_route_dup(su_home_t *home, sip_service_route_t const *hdr))
Duplicate a list of Service-Route header header structures sip_service_route_t.
Definition sip_protos.h:12849
sip_is_service_route
int sip_is_service_route(sip_header_t const *header)
Test if header object is instance of sip_service_route_t.
Definition sip_protos.h:12802
sip_session_expires_t
struct sip_session_expires_s sip_session_expires_t
@
Definition sip.h:190
sip_is_session_expires
int sip_is_session_expires(sip_header_t const *header)
Test if header object is instance of sip_session_expires_t.
Definition sip_protos.h:12088
sip_session_expires_hash
@ sip_session_expires_hash
@
Definition sip_hclasses.h:1202
sip_session_expires_copy
sip_session_expires_t * sip_session_expires_copy(su_home_t *home, sip_session_expires_t const *hdr))
Copy a list of Session-Expires header header structures sip_session_expires_t.
Definition sip_protos.h:12178
sip_session_expires_d
issize_t sip_session_expires_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Session-Expires header.
sip_session_expires_e
issize_t sip_session_expires_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Session-Expires header.
sip_session_expires_make
sip_session_expires_t * sip_session_expires_make(su_home_t *home, char const *s))
Make a Session-Expires header structure sip_session_expires_t.
Definition sip_protos.h:12207
sip_session_expires_class
msg_hclass_t sip_session_expires_class[]
Header class for Session-Expires header.
Definition sip_session.c:91
sip_session_expires_init
sip_session_expires_t * sip_session_expires_init(sip_session_expires_t x[1])
Initialize a structure sip_session_expires_t.
Definition sip_protos.h:12066
sip_session_expires_dup
sip_session_expires_t * sip_session_expires_dup(su_home_t *home, sip_session_expires_t const *hdr))
Duplicate a list of Session-Expires header header structures sip_session_expires_t.
Definition sip_protos.h:12135
sip_session_expires_format
sip_session_expires_t * sip_session_expires_format(su_home_t *home, char const *fmt,...)))
Make a Session-Expires header from formatting result.
Definition sip_protos.h:12238
sip_status_class
msg_hclass_t sip_status_class[]
Header class for status line.
Definition sip_basic.c:295
sip_status_make
sip_status_t * sip_status_make(su_home_t *home, char const *s))
Make a status line structure sip_status_t.
Definition sip_protos.h:545
sip_status_format
sip_status_t * sip_status_format(su_home_t *home, char const *fmt,...)))
Make a status line from formatting result.
Definition sip_protos.h:576
sip_status_t
struct sip_status_s sip_status_t
@
Definition sip.h:133
sip_status_hash
@ sip_status_hash
@
Definition sip_hclasses.h:75
sip_status_copy
sip_status_t * sip_status_copy(su_home_t *home, sip_status_t const *hdr))
Copy a list of status line header structures sip_status_t.
Definition sip_protos.h:516
sip_status_e
issize_t sip_status_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP status line.
sip_is_status
int sip_is_status(sip_header_t const *header)
Test if header object is instance of sip_status_t.
Definition sip_protos.h:426
sip_status_d
issize_t sip_status_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP status line.
sip_status_init
sip_status_t * sip_status_init(sip_status_t x[1])
Initialize a structure sip_status_t.
Definition sip_protos.h:404
sip_status_dup
sip_status_t * sip_status_dup(su_home_t *home, sip_status_t const *hdr))
Duplicate a list of status line header structures sip_status_t.
Definition sip_protos.h:473
sip_subject_init
sip_subject_t * sip_subject_init(sip_subject_t x[1])
Initialize a structure sip_subject_t.
Definition sip_protos.h:5402
sip_subject_copy
sip_subject_t * sip_subject_copy(su_home_t *home, sip_subject_t const *hdr))
Copy a list of Subject header header structures sip_subject_t.
Definition sip_protos.h:5514
sip_subject_make
sip_subject_t * sip_subject_make(su_home_t *home, char const *s))
Make a Subject header structure sip_subject_t.
Definition sip_protos.h:5543
sip_subject_t
struct msg_generic_s sip_subject_t
@
Definition sip.h:192
sip_subject_dup
sip_subject_t * sip_subject_dup(su_home_t *home, sip_subject_t const *hdr))
Duplicate a list of Subject header header structures sip_subject_t.
Definition sip_protos.h:5471
sip_subject_d
issize_t sip_subject_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Subject header.
sip_subject_format
sip_subject_t * sip_subject_format(su_home_t *home, char const *fmt,...)))
Make a Subject header from formatting result.
Definition sip_protos.h:5574
sip_subject_hash
@ sip_subject_hash
@
Definition sip_hclasses.h:558
sip_subject_class
msg_hclass_t sip_subject_class[]
Header class for Subject header.
Definition sip_extra.c:607
sip_is_subject
int sip_is_subject(sip_header_t const *header)
Test if header object is instance of sip_subject_t.
Definition sip_protos.h:5424
sip_subject_e
issize_t sip_subject_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Subject header.
sip_subscription_state_dup
sip_subscription_state_t * sip_subscription_state_dup(su_home_t *home, sip_subscription_state_t const *hdr))
Duplicate a list of Subscription-State header header structures sip_subscription_state_t.
Definition sip_protos.h:9279
sip_subscription_state_hash
@ sip_subscription_state_hash
@
Definition sip_hclasses.h:926
sip_subscription_state_t
struct sip_subscription_state_s sip_subscription_state_t
@
Definition sip.h:193
sip_subscription_state_e
issize_t sip_subscription_state_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Subscription-State header.
sip_subscription_state_init
sip_subscription_state_t * sip_subscription_state_init(sip_subscription_state_t x[1])
Initialize a structure sip_subscription_state_t.
Definition sip_protos.h:9210
sip_subscription_state_make
sip_subscription_state_t * sip_subscription_state_make(su_home_t *home, char const *s))
Make a Subscription-State header structure sip_subscription_state_t.
Definition sip_protos.h:9351
sip_subscription_state_copy
sip_subscription_state_t * sip_subscription_state_copy(su_home_t *home, sip_subscription_state_t const *hdr))
Copy a list of Subscription-State header header structures sip_subscription_state_t.
Definition sip_protos.h:9322
sip_is_subscription_state
int sip_is_subscription_state(sip_header_t const *header)
Test if header object is instance of sip_subscription_state_t.
Definition sip_protos.h:9232
sip_subscription_state_d
issize_t sip_subscription_state_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Subscription-State header.
sip_subscription_state_format
sip_subscription_state_t * sip_subscription_state_format(su_home_t *home, char const *fmt,...)))
Make a Subscription-State header from formatting result.
Definition sip_protos.h:9382
sip_subscription_state_class
msg_hclass_t sip_subscription_state_class[]
Header class for Subscription-State header.
Definition sip_event.c:297
sip_supported_copy
sip_supported_t * sip_supported_copy(su_home_t *home, sip_supported_t const *hdr))
Copy a list of Supported header header structures sip_supported_t.
Definition sip_protos.h:8370
sip_supported_d
issize_t sip_supported_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Supported header.
sip_supported_hash
@ sip_supported_hash
@
Definition sip_hclasses.h:834
sip_supported_format
sip_supported_t * sip_supported_format(su_home_t *home, char const *fmt,...)))
Make a Supported header from formatting result.
Definition sip_protos.h:8430
sip_supported_make
sip_supported_t * sip_supported_make(su_home_t *home, char const *s))
Make a Supported header structure sip_supported_t.
Definition sip_protos.h:8399
sip_supported_t
msg_list_t sip_supported_t
@
Definition sip.h:195
sip_supported_dup
sip_supported_t * sip_supported_dup(su_home_t *home, sip_supported_t const *hdr))
Duplicate a list of Supported header header structures sip_supported_t.
Definition sip_protos.h:8327
sip_supported_e
issize_t sip_supported_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Supported header.
sip_supported_init
sip_supported_t * sip_supported_init(sip_supported_t x[1])
Initialize a structure sip_supported_t.
Definition sip_protos.h:8258
sip_supported_class
msg_hclass_t sip_supported_class[]
Header class for Supported header.
Definition sip_feature.c:278
sip_is_supported
int sip_is_supported(sip_header_t const *header)
Test if header object is instance of sip_supported_t.
Definition sip_protos.h:8280
sip_timestamp_copy
sip_timestamp_t * sip_timestamp_copy(su_home_t *home, sip_timestamp_t const *hdr))
Copy a list of Timestamp header header structures sip_timestamp_t.
Definition sip_protos.h:5038
sip_timestamp_make
sip_timestamp_t * sip_timestamp_make(su_home_t *home, char const *s))
Make a Timestamp header structure sip_timestamp_t.
Definition sip_protos.h:5067
sip_timestamp_format
sip_timestamp_t * sip_timestamp_format(su_home_t *home, char const *fmt,...)))
Make a Timestamp header from formatting result.
Definition sip_protos.h:5098
sip_timestamp_t
struct sip_timestamp_s sip_timestamp_t
@
Definition sip.h:196
sip_timestamp_e
issize_t sip_timestamp_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Timestamp header.
sip_timestamp_class
msg_hclass_t sip_timestamp_class[]
Header class for Timestamp header.
Definition sip_extra.c:663
sip_is_timestamp
int sip_is_timestamp(sip_header_t const *header)
Test if header object is instance of sip_timestamp_t.
Definition sip_protos.h:4948
sip_timestamp_dup
sip_timestamp_t * sip_timestamp_dup(su_home_t *home, sip_timestamp_t const *hdr))
Duplicate a list of Timestamp header header structures sip_timestamp_t.
Definition sip_protos.h:4995
sip_timestamp_d
issize_t sip_timestamp_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Timestamp header.
sip_timestamp_hash
@ sip_timestamp_hash
@
Definition sip_hclasses.h:512
sip_timestamp_init
sip_timestamp_t * sip_timestamp_init(sip_timestamp_t x[1])
Initialize a structure sip_timestamp_t.
Definition sip_protos.h:4926
sip_to_e
issize_t sip_to_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP To header.
sip_to_make
sip_to_t * sip_to_make(su_home_t *home, char const *s))
Make a To header structure sip_to_t.
Definition sip_protos.h:2211
sip_to_d
issize_t sip_to_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP To header.
sip_to_dup
sip_to_t * sip_to_dup(su_home_t *home, sip_to_t const *hdr))
Duplicate a list of To header header structures sip_to_t.
Definition sip_protos.h:2139
sip_to_format
sip_to_t * sip_to_format(su_home_t *home, char const *fmt,...)))
Make a To header from formatting result.
Definition sip_protos.h:2242
sip_to_hash
@ sip_to_hash
@
Definition sip_hclasses.h:236
sip_is_to
int sip_is_to(sip_header_t const *header)
Test if header object is instance of sip_to_t.
Definition sip_protos.h:2092
sip_to_t
struct sip_addr_s sip_to_t
@
Definition sip.h:197
sip_to_class
msg_hclass_t sip_to_class[]
Header class for To header.
Definition sip_basic.c:2399
sip_to_copy
sip_to_t * sip_to_copy(su_home_t *home, sip_to_t const *hdr))
Copy a list of To header header structures sip_to_t.
Definition sip_protos.h:2182
sip_to_init
sip_to_t * sip_to_init(sip_to_t x[1])
Initialize a structure sip_to_t.
Definition sip_protos.h:2070
sip_unknown_d
issize_t sip_unknown_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP unknown headers.
sip_unknown_t
msg_unknown_t sip_unknown_t
@
Definition sip.h:135
sip_unknown_class
msg_hclass_t sip_unknown_class[]
Header class for unknown headers.
Definition sip_basic.c:559
sip_unknown_format
sip_unknown_t * sip_unknown_format(su_home_t *home, char const *fmt,...)))
Make a unknown headers from formatting result.
Definition sip_protos.h:16284
sip_unknown_copy
sip_unknown_t * sip_unknown_copy(su_home_t *home, sip_unknown_t const *hdr))
Copy a list of unknown headers header structures sip_unknown_t.
Definition sip_protos.h:16224
sip_unknown_dup
sip_unknown_t * sip_unknown_dup(su_home_t *home, sip_unknown_t const *hdr))
Duplicate a list of unknown headers header structures sip_unknown_t.
Definition sip_protos.h:16181
sip_unknown_init
sip_unknown_t * sip_unknown_init(sip_unknown_t x[1])
Initialize a structure sip_unknown_t.
Definition sip_protos.h:16112
sip_is_unknown
int sip_is_unknown(sip_header_t const *header)
Test if header object is instance of sip_unknown_t.
Definition sip_protos.h:16134
sip_unknown_make
sip_unknown_t * sip_unknown_make(su_home_t *home, char const *s))
Make a unknown headers structure sip_unknown_t.
Definition sip_protos.h:16253
sip_unknown_hash
@ sip_unknown_hash
@
Definition sip_hclasses.h:1593
sip_unknown_e
issize_t sip_unknown_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP unknown headers.
sip_unsupported_class
msg_hclass_t sip_unsupported_class[]
Header class for Unsupported header.
Definition sip_feature.c:325
sip_is_unsupported
int sip_is_unsupported(sip_header_t const *header)
Test if header object is instance of sip_unsupported_t.
Definition sip_protos.h:8518
sip_unsupported_make
sip_unsupported_t * sip_unsupported_make(su_home_t *home, char const *s))
Make a Unsupported header structure sip_unsupported_t.
Definition sip_protos.h:8637
sip_unsupported_dup
sip_unsupported_t * sip_unsupported_dup(su_home_t *home, sip_unsupported_t const *hdr))
Duplicate a list of Unsupported header header structures sip_unsupported_t.
Definition sip_protos.h:8565
sip_unsupported_copy
sip_unsupported_t * sip_unsupported_copy(su_home_t *home, sip_unsupported_t const *hdr))
Copy a list of Unsupported header header structures sip_unsupported_t.
Definition sip_protos.h:8608
sip_unsupported_format
sip_unsupported_t * sip_unsupported_format(su_home_t *home, char const *fmt,...)))
Make a Unsupported header from formatting result.
Definition sip_protos.h:8668
sip_unsupported_e
issize_t sip_unsupported_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Unsupported header.
sip_unsupported_t
msg_list_t sip_unsupported_t
@
Definition sip.h:198
sip_unsupported_init
sip_unsupported_t * sip_unsupported_init(sip_unsupported_t x[1])
Initialize a structure sip_unsupported_t.
Definition sip_protos.h:8496
sip_unsupported_hash
@ sip_unsupported_hash
@
Definition sip_hclasses.h:857
sip_unsupported_d
issize_t sip_unsupported_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Unsupported header.
sip_user_agent_format
sip_user_agent_t * sip_user_agent_format(su_home_t *home, char const *fmt,...)))
Make a User-Agent header from formatting result.
Definition sip_protos.h:6764
sip_user_agent_init
sip_user_agent_t * sip_user_agent_init(sip_user_agent_t x[1])
Initialize a structure sip_user_agent_t.
Definition sip_protos.h:6592
sip_user_agent_make
sip_user_agent_t * sip_user_agent_make(su_home_t *home, char const *s))
Make a User-Agent header structure sip_user_agent_t.
Definition sip_protos.h:6733
sip_user_agent_hash
@ sip_user_agent_hash
@
Definition sip_hclasses.h:673
sip_user_agent_d
issize_t sip_user_agent_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP User-Agent header.
sip_user_agent_e
issize_t sip_user_agent_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP User-Agent header.
sip_user_agent_class
msg_hclass_t sip_user_agent_class[]
Header class for User-Agent header.
Definition sip_extra.c:774
sip_user_agent_dup
sip_user_agent_t * sip_user_agent_dup(su_home_t *home, sip_user_agent_t const *hdr))
Duplicate a list of User-Agent header header structures sip_user_agent_t.
Definition sip_protos.h:6661
sip_is_user_agent
int sip_is_user_agent(sip_header_t const *header)
Test if header object is instance of sip_user_agent_t.
Definition sip_protos.h:6614
sip_user_agent_t
struct msg_generic_s sip_user_agent_t
@
Definition sip.h:199
sip_user_agent_copy
sip_user_agent_t * sip_user_agent_copy(su_home_t *home, sip_user_agent_t const *hdr))
Copy a list of User-Agent header header structures sip_user_agent_t.
Definition sip_protos.h:6704
sip_via_copy
sip_via_t * sip_via_copy(su_home_t *home, sip_via_t const *hdr))
Copy a list of Via header header structures sip_via_t.
Definition sip_protos.h:754
sip_via_make
sip_via_t * sip_via_make(su_home_t *home, char const *s))
Make a Via header structure sip_via_t.
Definition sip_protos.h:783
sip_via_init
sip_via_t * sip_via_init(sip_via_t x[1])
Initialize a structure sip_via_t.
Definition sip_protos.h:642
sip_via_dup
sip_via_t * sip_via_dup(su_home_t *home, sip_via_t const *hdr))
Duplicate a list of Via header header structures sip_via_t.
Definition sip_protos.h:711
sip_via_e
issize_t sip_via_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Via header.
sip_via_class
msg_hclass_t sip_via_class[]
Header class for Via header.
Definition sip_basic.c:2531
sip_is_via
int sip_is_via(sip_header_t const *header)
Test if header object is instance of sip_via_t.
Definition sip_protos.h:664
sip_via_hash
@ sip_via_hash
@
Definition sip_hclasses.h:98
sip_via_d
issize_t sip_via_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Via header.
sip_via_t
struct sip_via_s sip_via_t
@
Definition sip.h:200
sip_via_format
sip_via_t * sip_via_format(su_home_t *home, char const *fmt,...)))
Make a Via header from formatting result.
Definition sip_protos.h:814
sip_warning_make
sip_warning_t * sip_warning_make(su_home_t *home, char const *s))
Make a Warning header structure sip_warning_t.
Definition sip_protos.h:11255
sip_warning_copy
sip_warning_t * sip_warning_copy(su_home_t *home, sip_warning_t const *hdr))
Copy a list of Warning header header structures sip_warning_t.
Definition sip_protos.h:11226
sip_warning_t
msg_warning_t sip_warning_t
@
Definition sip.h:201
sip_warning_format
sip_warning_t * sip_warning_format(su_home_t *home, char const *fmt,...)))
Make a Warning header from formatting result.
Definition sip_protos.h:11286
sip_warning_dup
sip_warning_t * sip_warning_dup(su_home_t *home, sip_warning_t const *hdr))
Duplicate a list of Warning header header structures sip_warning_t.
Definition sip_protos.h:11183
sip_is_warning
int sip_is_warning(sip_header_t const *header)
Test if header object is instance of sip_warning_t.
Definition sip_protos.h:11136
sip_warning_init
sip_warning_t * sip_warning_init(sip_warning_t x[1])
Initialize a structure sip_warning_t.
Definition sip_protos.h:11114
sip_warning_hash
@ sip_warning_hash
@
Definition sip_hclasses.h:1110
sip_warning_class
msg_hclass_t sip_warning_class[]
Header class for Warning header.
Definition sip_mime.c:672
sip_warning_d
issize_t sip_warning_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP Warning header.
sip_warning_e
issize_t sip_warning_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP Warning header.
sip_is_www_authenticate
int sip_is_www_authenticate(sip_header_t const *header)
Test if header object is instance of sip_www_authenticate_t.
Definition sip_protos.h:10422
sip_www_authenticate_init
sip_www_authenticate_t * sip_www_authenticate_init(sip_www_authenticate_t x[1])
Initialize a structure sip_www_authenticate_t.
Definition sip_protos.h:10400
sip_www_authenticate_copy
sip_www_authenticate_t * sip_www_authenticate_copy(su_home_t *home, sip_www_authenticate_t const *hdr))
Copy a list of WWW-Authenticate header header structures sip_www_authenticate_t.
Definition sip_protos.h:10512
sip_www_authenticate_format
sip_www_authenticate_t * sip_www_authenticate_format(su_home_t *home, char const *fmt,...)))
Make a WWW-Authenticate header from formatting result.
Definition sip_protos.h:10572
sip_www_authenticate_t
struct msg_auth_s sip_www_authenticate_t
@
Definition sip.h:202
sip_www_authenticate_d
issize_t sip_www_authenticate_d(su_home_t *, msg_header_t *, char *s, isize_t slen)
Parse a SIP WWW-Authenticate header.
sip_www_authenticate_dup
sip_www_authenticate_t * sip_www_authenticate_dup(su_home_t *home, sip_www_authenticate_t const *hdr))
Duplicate a list of WWW-Authenticate header header structures sip_www_authenticate_t.
Definition sip_protos.h:10469
sip_www_authenticate_make
sip_www_authenticate_t * sip_www_authenticate_make(su_home_t *home, char const *s))
Make a WWW-Authenticate header structure sip_www_authenticate_t.
Definition sip_protos.h:10541
sip_www_authenticate_e
issize_t sip_www_authenticate_e(char b[], isize_t bsiz, msg_header_t const *h, int flags)
Print a SIP WWW-Authenticate header.
sip_www_authenticate_class
msg_hclass_t sip_www_authenticate_class[]
Header class for WWW-Authenticate header.
Definition sip_security.c:311
sip_www_authenticate_hash
@ sip_www_authenticate_hash
@
Definition sip_hclasses.h:1041
msg_public
msg_pub_t * msg_public(msg_t const *msg, void *tag)
msg_header_insert
int msg_header_insert(msg_t *msg, msg_pub_t *mo, msg_header_t *h)
msg_header_copy_as
msg_header_t * msg_header_copy_as(su_home_t *home, msg_hclass_t *hc, msg_header_t const *o))
msg_header_remove
int msg_header_remove(msg_t *msg, msg_pub_t *mo, msg_header_t *h)
msg_header_dup_as
msg_header_t * msg_header_dup_as(su_home_t *home, msg_hclass_t *hc, msg_header_t const *o))
msg_header_t
MSG_HDR_T msg_header_t
msg_t
struct msg_s msg_t
msg_pub_t
MSG_PUB_T msg_pub_t
sip_t
struct sip_s sip_t
Structure for accessing parsed SIP headers.
Definition sip.h:111
SIP_NONE
#define SIP_NONE
Magic pointer value - never valid for SIP headers.
Definition sip.h:84
SIP_PROTOCOL_TAG
#define SIP_PROTOCOL_TAG
SIP protocol identifier.
Definition sip.h:87
sip_header_t
union sip_header_u sip_header_t
Any SIP header - union of all possible SIP headers.
Definition sip.h:114
sip_hclasses.h
Declarations of SIP header classes.
sip_header.h
SIP parser library prototypes.
SIP_HEADER_INIT
#define SIP_HEADER_INIT(h, sip_class, size)
Initialize a SIP header structure.
Definition sip_header.h:73
sip_header_insert
int sip_header_insert(msg_t *msg, sip_t *sip, sip_header_t *h)
Insert a (list of) header(s) to the header structure and fragment chain.
Definition sip_protos.h:79
sip_header_remove
int sip_header_remove(msg_t *msg, sip_t *sip, sip_header_t *h)
Remove a header from a SIP message.
Definition sip_protos.h:86
sip_header_data
void * sip_header_data(sip_header_t *h)
Return data after header structure.
Definition sip_protos.h:103
sip_header_name
char const * sip_header_name(sip_header_t const *h, int compact)
Return name of the header.
Definition sip_protos.h:93
sip_object
sip_t * sip_object(msg_t const *msg)
Get SIP structure from msg.
Definition sip_protos.h:55
su_home_t
SU_HOME_T su_home_t
su_config.h
SOFIAPUBFUN
#define SOFIAPUBFUN
su_inline
#define su_inline

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