domain_mod.h

Go to the documentation of this file.
00001 /*
00002  * $Id: domain_mod.h 4518 2008-07-28 15:39:28Z henningw $
00003  *
00004  * Domain module headers
00005  *
00006  * Copyright (C) 2002-2003 Juha Heinanen
00007  *
00008  * This file is part of Kamailio, a free SIP server.
00009  *
00010  * Kamailio 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  * Kamailio is distributed in the hope that it will be useful,
00016  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018  * GNU General Public License for more details.
00019  *
00020  * You should have received a copy of the GNU General Public License 
00021  * along with this program; if not, write to the Free Software 
00022  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00023  */
00024 
00025 
00026 #ifndef DOMAIN_MOD_H
00027 #define DOMAIN_MOD_H
00028 
00029 
00030 #include "../../db/db.h"
00031 #include "../../str.h"
00032 #include "../../usr_avp.h"
00033 
00034 
00035 /*
00036  * Constants
00037  */
00038 #define DOM_HASH_SIZE 128
00039 
00040 /* flags for param source for is_domain_local() */
00041 #define PARAM_SOURCE_NONE  (0)
00042 #define PARAM_SOURCE_AVP   (1<<0)
00043 #define PARAM_SOURCE_RURI  (1<<1)
00044 #define PARAM_SOURCE_FROM  (1<<2)
00045 
00046 
00047 /*
00048  * Type definitions
00049  */
00050 struct domain_list {
00051    str domain;
00052    struct domain_list *next;
00053 };
00054 
00055 typedef struct param_source {
00056    int source;       /* One of PARAM_SOURCE_XXX from above */
00057 
00058    int avp_type;     /* If source is an avp, the avp type else 0 */
00059    int_str avp_name; /* If source is an avp, the avp name else NULL */
00060 } param_source;
00061 
00062 /*
00063  * Module parameters variables
00064  */
00065 extern int db_mode;             /* Database usage mode: 0 = no cache, 1 = cache */
00066 extern str domain_table;   /* Domain table name */
00067 extern str domain_col;     /* Domain column name */
00068 
00069 
00070 /*
00071  * Other module variables
00072  */
00073 extern struct domain_list **hash_table_1; /* Hash table for domains */
00074 extern struct domain_list **hash_table_2; /* Hash table for domains */
00075 extern struct domain_list ***hash_table;  /* Current hash table */
00076 
00077 
00078 #endif /* DOMAIN_MOD_H */

Generated on Tue May 22 16:00:27 2012 for Kamailio - The Open Source SIP Server by  doxygen 1.5.6