sip_msg.h revision 2c2c41837e330b002c4220a39638150db504fe0e
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan * CDDL HEADER START
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan * The contents of this file are subject to the terms of the
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan * Common Development and Distribution License (the "License").
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan * You may not use this file except in compliance with the License.
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan * or http://www.opensolaris.org/os/licensing.
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan * See the License for the specific language governing permissions
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan * and limitations under the License.
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan * When distributing Covered Code, include this CDDL HEADER in each
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan * If applicable, add the following below this CDDL HEADER, with the
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan * fields enclosed by brackets "[]" replaced with your own identifying
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan * information: Portions Copyright [yyyy] [name of copyright owner]
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan * CDDL HEADER END
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan * Use is subject to license terms.
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan#pragma ident "%Z%%M% %I% %E% SMI"
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathanextern sip_header_function_t *sip_header_function_table_external;
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan/* Compare Cseq numbers */
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan#define SIP_CSEQ_LT(a, b) ((int32_t)((a)-(b)) < 0)
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan#define SIP_CSEQ_GT(a, b) ((int32_t)((a)-(b)) > 0)
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan#define SIP_CSEQ_GEQ(a, b) ((int32_t)((a)-(b)) >= 0)
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan/* List of registered sent-by values */
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan /* active/deleted or has deleted val */
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan /* True if header was allocated */
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan sip_header_function_t *sip_header_functions;
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan/* Structure for the SIP message body */
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan/* General definitions */
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan/* Two string values */
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathantypedef struct sip_2strs {
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan/* An integer and a string value */
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan/* Warn value */
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathantypedef struct sip_warn {
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan/* Date value */
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathantypedef struct sip_date {
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan/* Authorization and authentication value */
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathantypedef struct sip_auth {
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan/* RACK value */
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathantypedef struct sip_rack {
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan/* Cseq value */
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathantypedef struct sip_cseq {
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan/* Value for Contact, From and To header */
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan/* SIP name/version/transport value in Via */
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathan/* Via value */
4d0e50075058332ce0cd62bc2669a8a4dea45da0Sukumar Swaminathantypedef struct via_value {
typedef struct sip_request {
typedef struct sip_response {
int sip_response_code;
typedef struct sip_message_type {
typedef struct sip_message {
char *sip_msg_old_buf;
int sip_msg_len;
int sip_msg_ref_cnt;
char *, char *, boolean_t);
_sip_header_t *);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
sip_parsed_header_t **);
#ifdef __cplusplus