modules_s/permissions/trusted.h

00001 /*
00002  * $Id$
00003  * 
00004  * Header file for trusted.c implementing allow_trusted function
00005  *
00006  * Copyright (C) 2003 Juha Heinanen
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 
00030 #ifndef TRUSTED_H
00031 #define TRUSTED_H
00032                 
00033 #include "../../parser/msg_parser.h"
00034 
00035 
00036 extern struct trusted_list ***hash_table;     /* Pointer to current hash table pointer */
00037 extern struct trusted_list **hash_table_1;   /* Pointer to hash table 1 */
00038 extern struct trusted_list **hash_table_2;   /* Pointer to hash table 2 */
00039 
00040 
00041 /*
00042  * Initialize data structures
00043  */
00044 int init_trusted(void);
00045 
00046 
00047 /*
00048  * Close connections and release memory
00049  */
00050 void clean_trusted(void);
00051 
00052 /* prepare the DB cmds */
00053 int init_trusted_db(void);
00054 
00055 /* destroy the DB cmds */
00056 void destroy_trusted_db(void);
00057 
00058 /*
00059  * Check if request comes from trusted ip address with matching from URI
00060  */
00061 int allow_trusted(struct sip_msg* _msg, char* _s1, char* _s2);
00062 
00063 
00064 int reload_trusted_table(void);
00065 
00066 #endif /* TRUSTED_H */