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_get_num_via 3SIP "23 Jan 2007" "SunOS 5.11" "Session Initiation Protocol Library Functions"
NAME
sip_get_num_via, sip_get_branchid - get VIA header specific attributes
SYNOPSIS

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

int sip_get_num_via(sip_msg_t sip_msg, 
 int *error);

char *sip_get_branchid(sip_msg_t sip_msg, 
 int *error);
DESCRIPTION

The sip_get_num_via() function returns the number of VIA headers in the SIP message sip_msg.

The sip_get_branchid() function returns the branch ID value from the topmost VIA header. The caller is responsible for freeing the returned string.

RETURN VALUES

The sip_get_num_via() function returns the number of VIA headers on success.

The sip_get_branchid() function returns the branch ID on success and NULL on failure.

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

ERRORS

If the error is non-null, one of the following values is set:

EINVAL

The sip_msg is NULL.

ENOENT

For the sip_get_branchid function, there is no VIA header or the VIA header has no branch parameter.

EPROTO

For the sip_sip_get_trans.3sipget_branchid function, the VIA value is invalid. The parser encountered an error or errors while parsing the VIA header.

ENOMEM

For the sip_get_branchid function, there is an error in allocating memory for the branch ID.

On success, the value of the location pointed to by error is set to 0.

ATTRIBUTES

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

ATTRIBUTE TYPEATTRIBUTE VALUE
Interface StabilityCommitted
MT-LevelMT-Safe
SEE ALSO

libsip(3LIB)