core, lib, modules: restructured source code tree
[sip-router] / src / core / parser / parse_to.h
1 /*
2  * Copyright (C) 2001-2003 Fhg Fokus
3  *
4  * This file is part of Kamailio, a free SIP server.
5  *
6  * Kamailio is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version
10  *
11  * Kamailio is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License 
17  * along with this program; if not, write to the Free Software 
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
19  */
20
21 /*! \file
22  * \brief Parser :: Parse To: header
23  *
24  * \ingroup parser
25  */
26
27 #ifndef PARSE_TO
28 #define PARSE_TO
29
30 #include "../str.h"
31 #include "msg_parser.h"
32 #include "parse_addr_spec.h"
33
34 /* casting macro for accessing To body */
35 #define get_to(p_msg)      ((struct to_body*)(p_msg)->to->parsed)
36
37 #define GET_TO_PURI(p_msg) \
38         (&((struct to_body*)(p_msg)->to->parsed)->parsed_uri)
39
40 /*! \brief
41  * To header field parser
42  */
43 char* parse_to(char* const buffer, const char* const end, struct to_body* const to_b);
44
45 int parse_to_header(struct sip_msg* const msg);
46
47 sip_uri_t *parse_to_uri(struct sip_msg* const msg);
48
49 #endif