00001 /* 00002 * $Id: parse_to.h,v 1.5 2004/09/27 04:02:25 jiri Exp $ 00003 * 00004 * Copyright (C) 2001-2003 Fhg Fokus 00005 * 00006 * This file is part of ser, a free SIP server. 00007 * 00008 * ser is free software; you can redistribute it and/or modify 00009 * it under the terms of the GNU General Public License as published by 00010 * the Free Software Foundation; either version 2 of the License, or 00011 * (at your option) any later version 00012 * 00013 * For a license to use the ser software under conditions 00014 * other than those described here, or to purchase support for this 00015 * software, please contact iptel.org by e-mail at the following addresses: 00016 * info@iptel.org 00017 * 00018 * ser is distributed in the hope that it will be useful, 00019 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00020 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00021 * GNU General Public License for more details. 00022 * 00023 * You should have received a copy of the GNU General Public License 00024 * along with this program; if not, write to the Free Software 00025 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00026 */ 00027 00028 00029 #ifndef PARSE_TO 00030 #define PARSE_TO 00031 00032 #include "../str.h" 00033 00034 enum { 00035 TAG_PARAM = 400, GENERAL_PARAM 00036 }; 00037 00038 struct to_param{ 00039 int type; /* Type of parameter */ 00040 str name; /* Name of parameter */ 00041 str value; /* Parameter value */ 00042 struct to_param* next; /* Next parameter in the list */ 00043 }; 00044 00045 00046 struct to_body{ 00047 int error; /* Error code */ 00048 str body; /* The whole header field body */ 00049 str uri; /* URI */ 00050 str display; /* Display Name */ 00051 str tag_value; /* Value of tag */ 00052 struct to_param *param_lst; /* Linked list of parameters */ 00053 struct to_param *last_param; /* Last parameter in the list */ 00054 }; 00055 00056 00057 /* casting macro for accessing To body */ 00058 #define get_to( p_msg) ((struct to_body*)(p_msg)->to->parsed) 00059 00060 00061 /* 00062 * To header field parser 00063 */ 00064 char* parse_to(char* buffer, char *end, struct to_body *to_b); 00065 00066 00067 void free_to(struct to_body* tb); 00068 00069 00070 #endif
1.3.9.1