12882Svi117747 /* 22882Svi117747 * CDDL HEADER START 32882Svi117747 * 42882Svi117747 * The contents of this file are subject to the terms of the 52882Svi117747 * Common Development and Distribution License (the "License"). 62882Svi117747 * You may not use this file except in compliance with the License. 72882Svi117747 * 82882Svi117747 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 92882Svi117747 * or http://www.opensolaris.org/os/licensing. 102882Svi117747 * See the License for the specific language governing permissions 112882Svi117747 * and limitations under the License. 122882Svi117747 * 132882Svi117747 * When distributing Covered Code, include this CDDL HEADER in each 142882Svi117747 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 152882Svi117747 * If applicable, add the following below this CDDL HEADER, with the 162882Svi117747 * fields enclosed by brackets "[]" replaced with your own identifying 172882Svi117747 * information: Portions Copyright [yyyy] [name of copyright owner] 182882Svi117747 * 192882Svi117747 * CDDL HEADER END 202882Svi117747 */ 212882Svi117747 222882Svi117747 /* 233439Svi117747 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 242882Svi117747 * Use is subject to license terms. 252882Svi117747 */ 262882Svi117747 272882Svi117747 #ifndef _SIP_PARSE_GENERIC_H 282882Svi117747 #define _SIP_PARSE_GENERIC_H 292882Svi117747 302882Svi117747 #pragma ident "%Z%%M% %I% %E% SMI" 312882Svi117747 322882Svi117747 #ifdef __cplusplus 332882Svi117747 extern "C" { 342882Svi117747 #endif 352882Svi117747 363439Svi117747 #include <sip.h> 373439Svi117747 #include <sys/types.h> 383439Svi117747 393439Svi117747 #include "sip_msg.h" 403439Svi117747 412882Svi117747 extern int sip_atoi(_sip_header_t *, int *); 422882Svi117747 extern int sip_find_token(_sip_header_t *, char); 432882Svi117747 extern int sip_find_cr(_sip_header_t *); 44*5092Sgm209912 extern int sip_find_separator(_sip_header_t *, char, char, char, 45*5092Sgm209912 boolean_t); 462882Svi117747 extern int sip_find_white_space(_sip_header_t *); 472882Svi117747 extern int sip_skip_white_space(_sip_header_t *); 482882Svi117747 extern int sip_reverse_skip_white_space(_sip_header_t *); 492882Svi117747 extern int sip_parse_goto_values(_sip_header_t *); 502882Svi117747 extern int sip_goto_next_value(_sip_header_t *); 512882Svi117747 extern int sip_parse_params(_sip_header_t *, sip_param_t **); 522882Svi117747 extern int sip_prim_parsers(_sip_header_t *, 532882Svi117747 sip_parsed_header_t **); 542882Svi117747 extern boolean_t sip_is_empty_hdr(_sip_header_t *); 552882Svi117747 extern int sip_parse_hdr_empty(_sip_header_t *, 562882Svi117747 sip_parsed_header_t **); 572882Svi117747 int sip_get_protocol_version(_sip_header_t *, 582882Svi117747 sip_proto_version_t *sip_proto_version); 592882Svi117747 extern int sip_parse_first_line(_sip_header_t *, 602882Svi117747 sip_message_type_t **); 612882Svi117747 extern int sip_parse_hdr_parser1(_sip_header_t *, 622882Svi117747 sip_parsed_header_t **, char); 632882Svi117747 extern int sip_parse_hdr_parser2(_sip_header_t *, 642882Svi117747 sip_parsed_header_t **, int); 652882Svi117747 extern int sip_parse_hdr_parser3(_sip_header_t *, 662882Svi117747 sip_parsed_header_t **, int, boolean_t); 672882Svi117747 extern int sip_parse_hdr_parser4(_sip_header_t *, 682882Svi117747 sip_parsed_header_t **); 692882Svi117747 extern int sip_parse_hdr_parser5(_sip_header_t *, 702882Svi117747 sip_parsed_header_t **, boolean_t); 712882Svi117747 #ifdef __cplusplus 722882Svi117747 } 732882Svi117747 #endif 742882Svi117747 752882Svi117747 #endif /* _SIP_PARSE_GENERIC_H */ 76