Data Structures | Defines | Typedefs | Enumerations | Functions | Variables

sofia-sip/sip_extra.h File Reference

Extension headers for SIP. More...

#include <sofia-sip/sip.h>
#include <sofia-sip/sip_header.h>
Include dependency graph for sip_extra.h:

Go to the source code of this file.

Data Structures

struct  sip_refer_sub_s
 Structure for Refer-Sub header. More...
struct  sip_alert_info_s
 Structure for Alert-Info header. More...
struct  sip_reply_to_s
 Structure for Reply-To header. More...
struct  sip_suppress_body_if_match_s
 Structure for Suppress-Body-If-Match header. More...
struct  sip_suppress_notify_if_match_s
 Structure for Suppress-Notify-If-Match header. More...
struct  sip_p_asserted_identity_s
 Structure for P-Asserted-Identity header. More...
struct  sip_p_preferred_identity_s
 Structure for P-Preferred-Identity header. More...
struct  sip_remote_party_id_s
 Structure for Remote-Party-ID header. More...

Defines

#define SIP_EXTRA_H
 Defined when <sofia-sip/sip_extra.h> has been included.
#define SIP_HAVE_REFER_SUB
 Defined as 1 if the Refer-Sub header is supported.
#define sip_refer_sub(sip)
 Access a SIP Refer-Sub header structure sip_refer_sub_t from sip_t.
#define SIP_REFER_SUB_INIT()
 Initializer for structure sip_refer_sub_t.
#define SIPTAG_REFER_SUB(x)
 Tag list item for pointer to a Refer-Sub header structure sip_refer_sub_t.
#define SIPTAG_REFER_SUB_REF(x)
 Tag list item for reference to a Refer-Sub header pointer.
#define SIPTAG_REFER_SUB_STR(s)
 Tag list item for string with Refer-Sub header value.
#define SIPTAG_REFER_SUB_STR_REF(x)
 Tag list item for reference to a Refer-Sub header string.
#define SIP_HAVE_ALERT_INFO
 Defined as 1 if the Alert-Info header is supported.
#define sip_alert_info(sip)
 Access a SIP Alert-Info header structure sip_alert_info_t from sip_t.
#define SIP_ALERT_INFO_INIT()
 Initializer for structure sip_alert_info_t.
#define SIPTAG_ALERT_INFO(x)
 Tag list item for pointer to a Alert-Info header structure sip_alert_info_t.
#define SIPTAG_ALERT_INFO_REF(x)
 Tag list item for reference to a Alert-Info header pointer.
#define SIPTAG_ALERT_INFO_STR(s)
 Tag list item for string with Alert-Info header value.
#define SIPTAG_ALERT_INFO_STR_REF(x)
 Tag list item for reference to a Alert-Info header string.
#define SIP_HAVE_REPLY_TO
 Defined as 1 if the Reply-To header is supported.
#define sip_reply_to(sip)
 Access a SIP Reply-To header structure sip_reply_to_t from sip_t.
#define SIP_REPLY_TO_INIT()
 Initializer for structure sip_reply_to_t.
#define SIPTAG_REPLY_TO(x)
 Tag list item for pointer to a Reply-To header structure sip_reply_to_t.
#define SIPTAG_REPLY_TO_REF(x)
 Tag list item for reference to a Reply-To header pointer.
#define SIPTAG_REPLY_TO_STR(s)
 Tag list item for string with Reply-To header value.
#define SIPTAG_REPLY_TO_STR_REF(x)
 Tag list item for reference to a Reply-To header string.
#define SIP_HAVE_REMOTE_PARTY_ID
 Defined as 1 if the Remote-Party-ID header is supported.
#define sip_remote_party_id(sip)
 Access a SIP Remote-Party-ID header structure sip_remote_party_id_t from sip_t.
#define SIP_REMOTE_PARTY_ID_INIT()
 Initializer for structure sip_remote_party_id_t.
#define SIPTAG_REMOTE_PARTY_ID(x)
 Tag list item for pointer to a Remote-Party-ID header structure sip_remote_party_id_t.
#define SIPTAG_REMOTE_PARTY_ID_REF(x)
 Tag list item for reference to a Remote-Party-ID header pointer.
#define SIPTAG_REMOTE_PARTY_ID_STR(s)
 Tag list item for string with Remote-Party-ID header value.
#define SIPTAG_REMOTE_PARTY_ID_STR_REF(x)
 Tag list item for reference to a Remote-Party-ID header string.
#define SIP_HAVE_P_ASSERTED_IDENTITY
 Defined as 1 if the P-Asserted-Identity header is supported.
#define sip_p_asserted_identity(sip)
 Access a SIP P-Asserted-Identity header structure sip_p_asserted_identity_t from sip_t.
#define SIP_P_ASSERTED_IDENTITY_INIT()
 Initializer for structure sip_p_asserted_identity_t.
#define SIPTAG_P_ASSERTED_IDENTITY(x)
 Tag list item for pointer to a P-Asserted-Identity header structure sip_p_asserted_identity_t.
#define SIPTAG_P_ASSERTED_IDENTITY_REF(x)
 Tag list item for reference to a P-Asserted-Identity header pointer.
#define SIPTAG_P_ASSERTED_IDENTITY_STR(s)
 Tag list item for string with P-Asserted-Identity header value.
#define SIPTAG_P_ASSERTED_IDENTITY_STR_REF(x)
 Tag list item for reference to a P-Asserted-Identity header string.
#define SIP_HAVE_P_PREFERRED_IDENTITY
 Defined as 1 if the P-Preferred-Identity header is supported.
#define sip_p_preferred_identity(sip)
 Access a SIP P-Preferred-Identity header structure sip_p_preferred_identity_t from sip_t.
#define SIP_P_PREFERRED_IDENTITY_INIT()
 Initializer for structure sip_p_preferred_identity_t.
#define SIPTAG_P_PREFERRED_IDENTITY(x)
 Tag list item for pointer to a P-Preferred-Identity header structure sip_p_preferred_identity_t.
#define SIPTAG_P_PREFERRED_IDENTITY_REF(x)
 Tag list item for reference to a P-Preferred-Identity header pointer.
#define SIPTAG_P_PREFERRED_IDENTITY_STR(s)
 Tag list item for string with P-Preferred-Identity header value.
#define SIPTAG_P_PREFERRED_IDENTITY_STR_REF(x)
 Tag list item for reference to a P-Preferred-Identity header string.
#define SIP_HAVE_SUPPRESS_BODY_IF_MATCH
 Defined as 1 if the Suppress-Body-If-Match header is supported.
#define sip_suppress_body_if_match(sip)
 Access a SIP Suppress-Body-If-Match header structure sip_suppress_body_if_match_t from sip_t.
#define SIP_SUPPRESS_BODY_IF_MATCH_INIT()
 Initializer for structure sip_suppress_body_if_match_t.
#define SIPTAG_SUPPRESS_BODY_IF_MATCH(x)
 Tag list item for pointer to a Suppress-Body-If-Match header structure sip_suppress_body_if_match_t.
#define SIPTAG_SUPPRESS_BODY_IF_MATCH_REF(x)
 Tag list item for reference to a Suppress-Body-If-Match header pointer.
#define SIPTAG_SUPPRESS_BODY_IF_MATCH_STR(s)
 Tag list item for string with Suppress-Body-If-Match header value.
#define SIPTAG_SUPPRESS_BODY_IF_MATCH_STR_REF(x)
 Tag list item for reference to a Suppress-Body-If-Match header string.
#define SIP_HAVE_SUPPRESS_NOTIFY_IF_MATCH
 Defined as 1 if the Suppress-Notify-If-Match header is supported.
#define sip_suppress_notify_if_match(sip)
 Access a SIP Suppress-Notify-If-Match header structure sip_suppress_notify_if_match_t from sip_t.
#define SIP_SUPPRESS_NOTIFY_IF_MATCH_INIT()
 Initializer for structure sip_suppress_notify_if_match_t.
#define SIPTAG_SUPPRESS_NOTIFY_IF_MATCH(x)
 Tag list item for pointer to a Suppress-Notify-If-Match header structure sip_suppress_notify_if_match_t.
#define SIPTAG_SUPPRESS_NOTIFY_IF_MATCH_REF(x)
 Tag list item for reference to a Suppress-Notify-If-Match header pointer.
#define SIPTAG_SUPPRESS_NOTIFY_IF_MATCH_STR(s)
 Tag list item for string with Suppress-Notify-If-Match header value.
#define SIPTAG_SUPPRESS_NOTIFY_IF_MATCH_STR_REF(x)
 Tag list item for reference to a Suppress-Notify-If-Match header string.

Typedefs

typedef struct sip_refer_sub_s sip_refer_sub_t
 The structure sip_refer_sub_t contains representation of Refer-Sub header.
typedef struct sip_alert_info_s sip_alert_info_t
 The structure sip_alert_info_t contains representation of an Alert-Info header.
typedef struct sip_reply_to_s sip_reply_to_t
 The structure sip_reply_to_t contains representation of SIP Reply-To header.
typedef struct
sip_suppress_body_if_match_s 
sip_suppress_body_if_match_t
 The structure sip_suppress_body_if_match_t contains representation of a SIP Suppress-Body-If-Match header.
typedef struct
sip_suppress_notify_if_match_s 
sip_suppress_notify_if_match_t
 The structure sip_suppress_notify_if_match_t contains representation of a SIP Suppress-Notify-If-Match header.
typedef struct
sip_p_asserted_identity_s 
sip_p_asserted_identity_t
 The structure sip_p_asserted_identity_t contains representation of SIP P-Asserted-Identity header.
typedef struct
sip_p_preferred_identity_s 
sip_p_preferred_identity_t
 The structure sip_p_preferred_identity_t contains representation of SIP P-Preferred-Identity header.
typedef struct
sip_remote_party_id_s 
sip_remote_party_id_t
 The structure sip_remote_party_id_t contains representation of SIP Remote-Party-ID header.

Enumerations

enum  { sip_refer_sub_hash }
enum  { sip_alert_info_hash }
enum  { sip_reply_to_hash }
enum  { sip_remote_party_id_hash }
enum  { sip_p_asserted_identity_hash }
enum  { sip_p_preferred_identity_hash }
enum  { sip_suppress_body_if_match_hash }
enum  { sip_suppress_notify_if_match_hash }

Functions

issize_t sip_refer_sub_d (su_home_t *, msg_header_t *, char *s, isize_t slen)
 Parse a SIP Refer-Sub header.
issize_t sip_refer_sub_e (char b[], isize_t bsiz, msg_header_t const *h, int flags)
 Print a SIP Refer-Sub header.
sip_refer_sub_tsip_refer_sub_init (sip_refer_sub_t x[1])
 Initialize a structure sip_refer_sub_t.
int sip_is_refer_sub (sip_header_t const *header)
 Test if header object is instance of sip_refer_sub_t.
sip_refer_sub_tsip_refer_sub_dup (su_home_t *home, sip_refer_sub_t const *hdr))
 Duplicate a list of Refer-Sub header header structures sip_refer_sub_t.
sip_refer_sub_tsip_refer_sub_copy (su_home_t *home, sip_refer_sub_t const *hdr))
 Copy a list of Refer-Sub header header structures sip_refer_sub_t.
sip_refer_sub_tsip_refer_sub_make (su_home_t *home, char const *s))
 Make a Refer-Sub header structure sip_refer_sub_t.
sip_refer_sub_tsip_refer_sub_format (su_home_t *home, char const *fmt,...)))
 Make a Refer-Sub header from formatting result.
issize_t sip_alert_info_d (su_home_t *, msg_header_t *, char *s, isize_t slen)
 Parse a SIP Alert-Info header.
issize_t sip_alert_info_e (char b[], isize_t bsiz, msg_header_t const *h, int flags)
 Print a SIP Alert-Info header.
sip_alert_info_tsip_alert_info_init (sip_alert_info_t x[1])
 Initialize a structure sip_alert_info_t.
int sip_is_alert_info (sip_header_t const *header)
 Test if header object is instance of sip_alert_info_t.
sip_alert_info_tsip_alert_info_dup (su_home_t *home, sip_alert_info_t const *hdr))
 Duplicate a list of Alert-Info header header structures sip_alert_info_t.
sip_alert_info_tsip_alert_info_copy (su_home_t *home, sip_alert_info_t const *hdr))
 Copy a list of Alert-Info header header structures sip_alert_info_t.
sip_alert_info_tsip_alert_info_make (su_home_t *home, char const *s))
 Make a Alert-Info header structure sip_alert_info_t.
sip_alert_info_tsip_alert_info_format (su_home_t *home, char const *fmt,...)))
 Make a Alert-Info header from formatting result.
issize_t sip_reply_to_d (su_home_t *, msg_header_t *, char *s, isize_t slen)
 Parse a SIP Reply-To header.
issize_t sip_reply_to_e (char b[], isize_t bsiz, msg_header_t const *h, int flags)
 Print a SIP Reply-To header.
sip_reply_to_tsip_reply_to_init (sip_reply_to_t x[1])
 Initialize a structure sip_reply_to_t.
int sip_is_reply_to (sip_header_t const *header)
 Test if header object is instance of sip_reply_to_t.
sip_reply_to_tsip_reply_to_dup (su_home_t *home, sip_reply_to_t const *hdr))
 Duplicate a list of Reply-To header header structures sip_reply_to_t.
sip_reply_to_tsip_reply_to_copy (su_home_t *home, sip_reply_to_t const *hdr))
 Copy a list of Reply-To header header structures sip_reply_to_t.
sip_reply_to_tsip_reply_to_make (su_home_t *home, char const *s))
 Make a Reply-To header structure sip_reply_to_t.
sip_reply_to_tsip_reply_to_format (su_home_t *home, char const *fmt,...)))
 Make a Reply-To header from formatting result.
issize_t sip_remote_party_id_d (su_home_t *, msg_header_t *, char *s, isize_t slen)
 Parse a SIP Remote-Party-ID header.
issize_t sip_remote_party_id_e (char b[], isize_t bsiz, msg_header_t const *h, int flags)
 Print a SIP Remote-Party-ID header.
sip_remote_party_id_tsip_remote_party_id_init (sip_remote_party_id_t x[1])
 Initialize a structure sip_remote_party_id_t.
int sip_is_remote_party_id (sip_header_t const *header)
 Test if header object is instance of sip_remote_party_id_t.
sip_remote_party_id_tsip_remote_party_id_dup (su_home_t *home, sip_remote_party_id_t const *hdr))
 Duplicate a list of Remote-Party-ID header header structures sip_remote_party_id_t.
sip_remote_party_id_tsip_remote_party_id_copy (su_home_t *home, sip_remote_party_id_t const *hdr))
 Copy a list of Remote-Party-ID header header structures sip_remote_party_id_t.
sip_remote_party_id_tsip_remote_party_id_make (su_home_t *home, char const *s))
 Make a Remote-Party-ID header structure sip_remote_party_id_t.
sip_remote_party_id_tsip_remote_party_id_format (su_home_t *home, char const *fmt,...)))
 Make a Remote-Party-ID header from formatting result.
issize_t sip_p_asserted_identity_d (su_home_t *, msg_header_t *, char *s, isize_t slen)
 Parse a SIP P-Asserted-Identity header.
issize_t sip_p_asserted_identity_e (char b[], isize_t bsiz, msg_header_t const *h, int flags)
 Print a SIP P-Asserted-Identity header.
sip_p_asserted_identity_tsip_p_asserted_identity_init (sip_p_asserted_identity_t x[1])
 Initialize a structure sip_p_asserted_identity_t.
int sip_is_p_asserted_identity (sip_header_t const *header)
 Test if header object is instance of sip_p_asserted_identity_t.
sip_p_asserted_identity_tsip_p_asserted_identity_dup (su_home_t *home, sip_p_asserted_identity_t const *hdr))
 Duplicate a list of P-Asserted-Identity header header structures sip_p_asserted_identity_t.
sip_p_asserted_identity_tsip_p_asserted_identity_copy (su_home_t *home, sip_p_asserted_identity_t const *hdr))
 Copy a list of P-Asserted-Identity header header structures sip_p_asserted_identity_t.
sip_p_asserted_identity_tsip_p_asserted_identity_make (su_home_t *home, char const *s))
 Make a P-Asserted-Identity header structure sip_p_asserted_identity_t.
sip_p_asserted_identity_tsip_p_asserted_identity_format (su_home_t *home, char const *fmt,...)))
 Make a P-Asserted-Identity header from formatting result.
issize_t sip_p_preferred_identity_d (su_home_t *, msg_header_t *, char *s, isize_t slen)
 Parse a SIP P-Preferred-Identity header.
issize_t sip_p_preferred_identity_e (char b[], isize_t bsiz, msg_header_t const *h, int flags)
 Print a SIP P-Preferred-Identity header.
sip_p_preferred_identity_tsip_p_preferred_identity_init (sip_p_preferred_identity_t x[1])
 Initialize a structure sip_p_preferred_identity_t.
int sip_is_p_preferred_identity (sip_header_t const *header)
 Test if header object is instance of sip_p_preferred_identity_t.
sip_p_preferred_identity_tsip_p_preferred_identity_dup (su_home_t *home, sip_p_preferred_identity_t const *hdr))
 Duplicate a list of P-Preferred-Identity header header structures sip_p_preferred_identity_t.
sip_p_preferred_identity_tsip_p_preferred_identity_copy (su_home_t *home, sip_p_preferred_identity_t const *hdr))
 Copy a list of P-Preferred-Identity header header structures sip_p_preferred_identity_t.
sip_p_preferred_identity_tsip_p_preferred_identity_make (su_home_t *home, char const *s))
 Make a P-Preferred-Identity header structure sip_p_preferred_identity_t.
sip_p_preferred_identity_tsip_p_preferred_identity_format (su_home_t *home, char const *fmt,...)))
 Make a P-Preferred-Identity header from formatting result.
issize_t sip_suppress_body_if_match_d (su_home_t *, msg_header_t *, char *s, isize_t slen)
 Parse a SIP Suppress-Body-If-Match header.
issize_t sip_suppress_body_if_match_e (char b[], isize_t bsiz, msg_header_t const *h, int flags)
 Print a SIP Suppress-Body-If-Match header.
sip_suppress_body_if_match_tsip_suppress_body_if_match_init (sip_suppress_body_if_match_t x[1])
 Initialize a structure sip_suppress_body_if_match_t.
int sip_is_suppress_body_if_match (sip_header_t const *header)
 Test if header object is instance of sip_suppress_body_if_match_t.
sip_suppress_body_if_match_tsip_suppress_body_if_match_dup (su_home_t *home, sip_suppress_body_if_match_t const *hdr))
 Duplicate a list of Suppress-Body-If-Match header header structures sip_suppress_body_if_match_t.
sip_suppress_body_if_match_tsip_suppress_body_if_match_copy (su_home_t *home, sip_suppress_body_if_match_t const *hdr))
 Copy a list of Suppress-Body-If-Match header header structures sip_suppress_body_if_match_t.
sip_suppress_body_if_match_tsip_suppress_body_if_match_make (su_home_t *home, char const *s))
 Make a Suppress-Body-If-Match header structure sip_suppress_body_if_match_t.
sip_suppress_body_if_match_tsip_suppress_body_if_match_format (su_home_t *home, char const *fmt,...)))
 Make a Suppress-Body-If-Match header from formatting result.
issize_t sip_suppress_notify_if_match_d (su_home_t *, msg_header_t *, char *s, isize_t slen)
 Parse a SIP Suppress-Notify-If-Match header.
issize_t sip_suppress_notify_if_match_e (char b[], isize_t bsiz, msg_header_t const *h, int flags)
 Print a SIP Suppress-Notify-If-Match header.
sip_suppress_notify_if_match_tsip_suppress_notify_if_match_init (sip_suppress_notify_if_match_t x[1])
 Initialize a structure sip_suppress_notify_if_match_t.
int sip_is_suppress_notify_if_match (sip_header_t const *header)
 Test if header object is instance of sip_suppress_notify_if_match_t.
sip_suppress_notify_if_match_tsip_suppress_notify_if_match_dup (su_home_t *home, sip_suppress_notify_if_match_t const *hdr))
 Duplicate a list of Suppress-Notify-If-Match header header structures sip_suppress_notify_if_match_t.
sip_suppress_notify_if_match_tsip_suppress_notify_if_match_copy (su_home_t *home, sip_suppress_notify_if_match_t const *hdr))
 Copy a list of Suppress-Notify-If-Match header header structures sip_suppress_notify_if_match_t.
sip_suppress_notify_if_match_tsip_suppress_notify_if_match_make (su_home_t *home, char const *s))
 Make a Suppress-Notify-If-Match header structure sip_suppress_notify_if_match_t.
sip_suppress_notify_if_match_tsip_suppress_notify_if_match_format (su_home_t *home, char const *fmt,...)))
 Make a Suppress-Notify-If-Match header from formatting result.

Variables

msg_hclass_t sip_refer_sub_class []
 Header class for Refer-Sub header.
tag_typedef_t siptag_refer_sub
 Tag for Refer-Sub header object.
tag_typedef_t siptag_refer_sub_str
 Tag for string with Refer-Sub header value.
msg_hclass_t sip_alert_info_class []
 Header class for Alert-Info header.
tag_typedef_t siptag_alert_info
 Tag for Alert-Info header object.
tag_typedef_t siptag_alert_info_str
 Tag for string with Alert-Info header value.
msg_hclass_t sip_reply_to_class []
 Header class for Reply-To header.
tag_typedef_t siptag_reply_to
 Tag for Reply-To header object.
tag_typedef_t siptag_reply_to_str
 Tag for string with Reply-To header value.
msg_hclass_t sip_remote_party_id_class []
 Header class for Remote-Party-ID header.
tag_typedef_t siptag_remote_party_id
 Tag for Remote-Party-ID header object.
tag_typedef_t siptag_remote_party_id_str
 Tag for string with Remote-Party-ID header value.
msg_hclass_t sip_p_asserted_identity_class []
 Header class for P-Asserted-Identity header.
tag_typedef_t siptag_p_asserted_identity
 Tag for P-Asserted-Identity header object.
tag_typedef_t siptag_p_asserted_identity_str
 Tag for string with P-Asserted-Identity header value.
msg_hclass_t sip_p_preferred_identity_class []
 Header class for P-Preferred-Identity header.
tag_typedef_t siptag_p_preferred_identity
 Tag for P-Preferred-Identity header object.
tag_typedef_t siptag_p_preferred_identity_str
 Tag for string with P-Preferred-Identity header value.
msg_hclass_t sip_suppress_body_if_match_class []
 Header class for Suppress-Body-If-Match header.
tag_typedef_t siptag_suppress_body_if_match
 Tag for Suppress-Body-If-Match header object.
tag_typedef_t siptag_suppress_body_if_match_str
 Tag for string with Suppress-Body-If-Match header value.
msg_hclass_t sip_suppress_notify_if_match_class []
 Header class for Suppress-Notify-If-Match header.
tag_typedef_t siptag_suppress_notify_if_match
 Tag for Suppress-Notify-If-Match header object.
tag_typedef_t siptag_suppress_notify_if_match_str
 Tag for string with Suppress-Notify-If-Match header value.

Detailed Description

Extension headers for SIP.

This file is automatically generated from <sip_extra_headers.txt> by msg_parser.awk.

Author:
Pekka Pessi <Pekka.Pessi@nokia-email.address.hidden>.

Define Documentation

#define SIP_EXTRA_H

Defined when <sofia-sip/sip_extra.h> has been included.


Enumeration Type Documentation

anonymous enum
Enumerator:
sip_refer_sub_hash 

@

Hash of Refer-Sub header.

Since:
New in
New in 1.12.5.
anonymous enum
Enumerator:
sip_alert_info_hash 

@

Hash of Alert-Info header.

Since:
New in
New in 1.12.7.
anonymous enum
Enumerator:
sip_reply_to_hash 

@

Hash of Reply-To header.

Since:
New in
New in 1.12.7.
anonymous enum
Enumerator:
sip_remote_party_id_hash 

@

Hash of Remote-Party-ID header.

Since:
New in
New in 1.12.7.
anonymous enum
Enumerator:
sip_p_asserted_identity_hash 

@

Hash of P-Asserted-Identity header.

Since:
New in
New in 1.12.7.
anonymous enum
Enumerator:
sip_p_preferred_identity_hash 

@

Hash of P-Preferred-Identity header.

Since:
New in
New in 1.12.7.
anonymous enum
Enumerator:
sip_suppress_body_if_match_hash 

@

Hash of Suppress-Body-If-Match header.

Since:
New in
Experimental in 1.12.5, available if --enable-experimental configuration option is given.
anonymous enum
Enumerator:
sip_suppress_notify_if_match_hash 

@

Hash of Suppress-Notify-If-Match header.

Since:
New in
Experimental in 1.12.5, available if --enable-experimental configuration option is given.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

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