case_unsu.h

Go to the documentation of this file.
00001 /* 
00002  * $Id$ 
00003  *
00004  * Unsupported Header Field Name Parsing Macros
00005  *
00006  * Copyright (C) 2001-2003 FhG Fokus
00007  *
00008  * This file is part of ser, a free SIP server.
00009  *
00010  * ser is free software; you can redistribute it and/or modify
00011  * it under the terms of the GNU General Public License as published by
00012  * the Free Software Foundation; either version 2 of the License, or
00013  * (at your option) any later version
00014  *
00015  * For a license to use the ser software under conditions
00016  * other than those described here, or to purchase support for this
00017  * software, please contact iptel.org by e-mail at the following addresses:
00018  *    info@iptel.org
00019  *
00020  * ser is distributed in the hope that it will be useful,
00021  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00022  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00023  * GNU General Public License for more details.
00024  *
00025  * You should have received a copy of the GNU General Public License 
00026  * along with this program; if not, write to the Free Software 
00027  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00028  *
00029  * History:
00030  * --------
00031  * 2003-02-28 scratchpad compatibility abandoned (jiri)
00032  * 2003-01-27 next baby-step to removing ZT - PRESERVE_ZT (jiri)
00033  */
00034 
00042 #ifndef CASE_UNSU_H
00043 #define CASE_UNSU_H
00044 
00045 #include "../comp_defs.h"
00046 
00047 #define TED_CASE                             \
00048         switch(LOWER_DWORD(val)) {           \
00049         case _ted1_:                         \
00050                 hdr->type = HDR_UNSUPPORTED_T; \
00051                 hdr->name.len = 11;          \
00052                 return (p + 4);              \
00053                                              \
00054         case _ted2_:                         \
00055                 hdr->type = HDR_UNSUPPORTED_T; \
00056                 p += 4;                      \
00057                 goto dc_end;                 \
00058         }
00059 
00060 
00061 #define PPOR_CASE                  \
00062         switch(LOWER_DWORD(val)) { \
00063         case _ppor_:               \
00064                 p += 4;            \
00065                 val = READ(p);     \
00066                 TED_CASE;          \
00067                 goto other;        \
00068         }
00069 
00070 
00071 #define unsu_CASE         \
00072         p += 4;           \
00073         val = READ(p);    \
00074         PPOR_CASE;        \
00075         goto other;       \
00076 
00077 
00078 #endif /* CASE_UNSU_H */