1 /* sp-ul_db module 2 * 3 * Copyright (C) 2007 1&1 Internet AG 4 * 5 * This file is part of Kamailio, a free SIP server. 6 * 7 * Kamailio is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation; either version 2 of the License, or 10 * (at your option) any later version 11 * 12 * Kamailio is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 */ 21 22 #ifndef SP_P_USRLOC_CHECK_H 23 #define SP_P_USRLOC_CHECK_H 24 25 #include <time.h> 26 27 #include "../../core/lock_ops.h" 28 29 struct check_data { 30 int refresh_flag; 31 int reconnect_flag; 32 gen_lock_t flag_lock; 33 }; 34 35 struct check_list_element{ 36 struct check_data * data; 37 struct check_list_element * next; 38 }; 39 40 struct check_list_head{ 41 gen_lock_t list_lock; 42 int element_count; 43 struct check_list_element * first; 44 }; 45 46 int init_list(void); 47 48 struct check_data * get_new_element(void); 49 50 int must_refresh(struct check_data * element); 51 52 int must_reconnect(struct check_data * element); 53 54 int set_must_refresh(void); 55 56 int set_must_reconnect(void); 57 58 void destroy_list(void); 59 60 int must_retry(time_t * timer, time_t interval); 61 62 63 #endif 64