/*
* CDDL HEADER START
*
* 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
* 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]
*
* CDDL HEADER END
*/
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <errno.h>
#include "sip_parse_uri.h"
void
{
return;
if (_uri->sip_uri_issip) {
param = param_next;
}
}
}
/*
* Parse the URI in uri_str
*/
struct sip_uri *
{
*error = 0;
return (NULL);
}
if (parsed_uri == NULL) {
return (NULL);
}
return (NULL);
}
return ((sip_uri_t)parsed_uri);
}
/*
* Get parsed URI
*/
const struct sip_uri *
{
*error = 0;
return (NULL);
}
}
/*
* Return TRUE if this is a SIP URI
*/
{
return (B_FALSE);
return (B_TRUE);
}
return (B_FALSE);
}
/*
* Some common checks
*/
static _sip_uri_t *
{
*error = 0;
return (NULL);
}
return ((_sip_uri_t *)uri);
}
/*
* Return the URI scheme
*/
const sip_str_t *
{
return (NULL);
}
return (&_uri->sip_uri_scheme);
return (NULL);
}
/*
* Return user name from URI
*/
const sip_str_t *
{
return (NULL);
return (&uri->sip_uri_user);
return (NULL);
}
/*
* Return password from URI
*/
const sip_str_t *
{
return (NULL);
return (&_uri->sip_uri_password);
return (NULL);
}
/*
* Get host from the URI
*/
const sip_str_t *
{
return (NULL);
return (&_uri->sip_uri_host);
return (NULL);
}
/*
* Get port from the URI
*/
int
{
return (NULL);
return (0);
}
return (_uri->sip_uri_port);
}
const sip_param_t *
{
return (NULL);
if (!_uri->sip_uri_issip) {
return (NULL);
}
return (_uri->sip_uri_params);
}
/*
* Get headers from the URI
*/
const sip_str_t *
{
return (NULL);
if (!_uri->sip_uri_issip) {
return (NULL);
}
return (&_uri->sip_uri_headers);
return (NULL);
}
/*
* Return opaque value for an ABS URI
*/
const sip_str_t *
{
return (NULL);
if (_uri->sip_uri_issip) {
return (NULL);
}
return (&_uri->sip_uri_opaque);
return (NULL);
}
/*
* Return query from an absolute URI
*/
const sip_str_t *
{
return (NULL);
if (_uri->sip_uri_issip) {
return (NULL);
}
return (&_uri->sip_uri_query);
return (NULL);
}
/*
* Get path from an assolute URI
*/
const sip_str_t *
{
return (NULL);
if (_uri->sip_uri_issip) {
return (NULL);
}
return (&_uri->sip_uri_path);
return (NULL);
}
/*
* Get the reg-name from absolute URI
*/
const sip_str_t *
{
return (NULL);
if (_uri->sip_uri_issip) {
return (NULL);
}
return (&_uri->sip_uri_regname);
return (NULL);
}
/*
* Return TRUE if this is a teluser
*/
{
return (B_FALSE);
return (_uri->sip_uri_isteluser);
}
int
{
return (0);
return (_uri->sip_uri_errflags);
}
/*
* the caller is responsible for freeing the returned string
*/
char *
{
if (errflags == 0)
return (NULL);
return (NULL);
if (errflags & SIP_URIERR_NOURI) {
strlen("Error : No URI"));
return (err_info);
}
if (errflags & SIP_URIERR_SCHEME)
if (errflags & SIP_URIERR_USER)
if (errflags & SIP_URIERR_PASS)
if (errflags & SIP_URIERR_HOST)
if (errflags & SIP_URIERR_PORT)
if (errflags & SIP_URIERR_PARAM) {
strlen(" PARAMETERS,"));
}
if (errflags & SIP_URIERR_HEADER)
if (errflags & SIP_URIERR_OPAQUE)
if (errflags & SIP_URIERR_QUERY)
if (errflags & SIP_URIERR_PATH)
if (errflags & SIP_URIERR_REGNAME)
} else {
}
return (err_info);
}