1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
/*
* $Id: contact.h,v 1.3 2006/01/24 19:09:08 bogdan_iancu Exp $
*
* Contact data type
*
* Copyright (C) 2001-2003 FhG Fokus
*
* This file is part of openser, a free SIP server.
*
* openser is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version
*
* openser is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* History:
* -------
* 2003-030-25 Adapted to use new parameter parser (janakj)
*/
#ifndef CONTACT_H
#define CONTACT_H
#include <stdio.h>
#include "../../str.h"
#include "../parse_param.h"
/*
* Structure representing a Contact HF body
*/
typedef struct contact {
str name; /* Name part */
str uri; /* contact uri */
param_t* q; /* q parameter hook */
param_t* expires; /* expires parameter hook */
param_t* methods; /* methods parameter hook */
param_t* received; /* received parameter hook */
param_t* params; /* List of all parameters */
int len; /* Total length of the element */
struct contact* next; /* Next contact in the list */
} contact_t;
/*
* Parse contacts in a Contact HF
*/
int parse_contacts(str* _s, contact_t** _c);
/*
* Free list of contacts
* _c is head of the list
*/
void free_contacts(contact_t** _c);
/*
* Print list of contacts, just for debugging
*/
void print_contacts(FILE* _o, contact_t* _c);
#endif /* CONTACT_H */
|