GPLization banner introduced to *.[hc] files
[sip-router] / parser / contact / contact.h
1 /*
2  * $Id$
3  *
4  * Contact datatype
5  *
6  * Copyright (C) 2001-2003 Fhg Fokus
7  *
8  * This file is part of ser, a free SIP server.
9  *
10  * ser is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * (at your option) any later version
14  *
15  * For a license to use the ser software under conditions
16  * other than those described here, or to purchase support for this
17  * software, please contact iptel.org by e-mail at the following addresses:
18  *    info@iptel.org
19  *
20  * ser is distributed in the hope that it will be useful,
21  * but WITHOUT ANY WARRANTY; without even the implied warranty of
22  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23  * GNU General Public License for more details.
24  *
25  * You should have received a copy of the GNU General Public License 
26  * along with this program; if not, write to the Free Software 
27  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
28  */
29
30
31 #ifndef CONTACT_H
32 #define CONTACT_H
33
34
35 #include "cparam.h"    /* cparam_t */
36 #include "../../str.h"
37
38
39 /*
40  * Structure representing a Contac HF body
41  */
42 typedef struct contact {
43         str uri;                /* contact uri */
44         cparam_t* q;            /* q parameter hook */
45         cparam_t* expires;      /* expires parameter hook */
46         cparam_t* method;       /* method parameter hook */
47         cparam_t* params;       /* List of all parameters */
48         struct contact* next; /* Next contact in the list */
49 } contact_t;
50
51
52 /*
53  * Parse contacts in a Contact HF
54  */
55 int parse_contacts(str* _s, contact_t** _c);
56
57
58 /*
59  * Free list of contacts
60  * _c is head of the list
61  */
62 void free_contacts(contact_t** _c);
63
64
65 /*
66  * Print list of contacts, just for debugging
67  */
68 void print_contacts(contact_t* _c);
69
70
71 #endif /* CONTACT_H */