te
Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
SIP_COPY_START_LINE 3SIP "Jan 25, 2007"
NAME
sip_copy_start_line, sip_copy_header, sip_copy_header_by_name, sip_copy_all_headers - copy headers from a SIP message
SYNOPSIS

cc [ flag ... ] file ... -lsip [ library ... ]
#include <sip.h>

int sip_copy_start_line(sip_msg_t from_msg, sip_msg_t to_msg);

int sip_copy_header(sip_msg_t sip_msg, sip_header_t sip_header,
 char *param);

int sip_copy_header_by_name(sip_msg_t from_msg, sip_msg_t to_msg,
 char *header_name, char *param);

int sip_copy_all_headers(sip_msg_t from_msg, sip_msg_t to_msg);
DESCRIPTION

The sip_copy_start_line() function copies the start line, a request or a response line, from from_msg to to_msg.

The sip_copy_header() function copies the SIP header specified by sip_header to the SIP message sip_msg. A new SIP header is created from sip_header and param, and is appended to sip_msg. The param can be non-null.

The sip_copy_header_by_name() function copies the header specified by header_name (long or short form) from from_msg to to_msg. The new header is created using the header value from from_msg and param, if non-null, and appended to to_msg.

The sip_copy_all_headers() copies all the headers from from_msg to to_msg.

RETURN VALUES

These functions return 0 on success and the appropriate error on failure.

The value of errno is not changed by these calls in the event of an error.

ERRORS

These functions can return one of the following errors in case of failure: EINVAL

If the required input parameters are NULL or if the header being copied does not exist or is deleted in source SIP message.

ENOMEM

Error while allocating memory for creating the new header.

EPERM

If the input SIP message cannot be modified.

ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Committed
MT-Level MT-Safe
SEE ALSO

libsip(3LIB)