00001 /* 00002 * $Id$ 00003 * 00004 * Identity, Identity-info Header Field Name Parsing Macros 00005 * 00006 * Copyright (c) 2007 iptelorg GmbH 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 */ 00032 00040 #ifndef CASE_IDEN_H 00041 #define CASE_IDEN_H 00042 00043 #include "../comp_defs.h" 00044 00045 00046 #define INFO_CASE \ 00047 switch(LOWER_DWORD(val)) { \ 00048 case _info_: \ 00049 hdr->type = HDR_IDENTITY_INFO_T; \ 00050 p += 4; \ 00051 goto dc_end; \ 00052 } 00053 00054 00055 #define TITY_CASE \ 00056 switch(LOWER_DWORD(val)) { \ 00057 case _tity_: \ 00058 p += 4; \ 00059 switch(LOWER_BYTE(*p)) { \ 00060 case ':': \ 00061 case ' ': \ 00062 hdr->type = HDR_IDENTITY_T; \ 00063 goto dc_end; \ 00064 case '-': \ 00065 p++; \ 00066 val = READ(p); \ 00067 INFO_CASE; \ 00068 } \ 00069 goto other; \ 00070 } 00071 00072 00073 #define iden_CASE \ 00074 p += 4; \ 00075 val = READ(p); \ 00076 TITY_CASE; \ 00077 goto other; 00078 00079 00080 #endif /* CASE_PROX_H */
1.7.1