00001 /* 00002 * Copyright (C) 2001-2003 FhG Fokus 00003 * 00004 * This file is part of ser, a free SIP server. 00005 * 00006 * ser is free software; you can redistribute it and/or modify 00007 * it under the terms of the GNU General Public License as published by 00008 * the Free Software Foundation; either version 2 of the License, or 00009 * (at your option) any later version 00010 * 00011 * For a license to use the ser software under conditions 00012 * other than those described here, or to purchase support for this 00013 * software, please contact iptel.org by e-mail at the following addresses: 00014 * info@iptel.org 00015 * 00016 * ser is distributed in the hope that it will be useful, 00017 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00019 * GNU General Public License for more details. 00020 * 00021 * You should have received a copy of the GNU General Public License 00022 * along with this program; if not, write to the Free Software 00023 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00024 */ 00025 00026 #ifndef str_h 00027 #define str_h 00028 00065 struct _str{ 00066 char* s; 00067 int len; 00068 }; 00069 00070 00074 typedef struct _str str; 00075 00083 #define STR_STATIC_INIT(v) {(v), sizeof(v) - 1} 00084 00085 /* kamailio compatibility macro (same thing as above) */ 00086 #define str_init(v) STR_STATIC_INIT(v) 00087 00094 #define STR_NULL {0, 0} 00095 00106 #define STR_FMT(_pstr_) \ 00107 ((_pstr_ != (str *)0) ? (_pstr_)->len : 0), \ 00108 ((_pstr_ != (str *)0) ? (_pstr_)->s : "") 00109 00110 00119 #define STR_EQ(x,y) (((x).len == (y).len) && \ 00120 (memcmp((x).s, (y).s, (x).len) == 0)) 00121 00124 #endif
1.7.1