nathelper.h

Go to the documentation of this file.
00001 /* $Id: nathelper.c 1808 2007-03-10 17:36:19Z bogdan_iancu $
00002  *
00003  * Copyright (C) 2003 Porta Software Ltd
00004  *
00005  * This file is part of Kamailio, a free SIP server.
00006  *
00007  * Kamailio is free software; you can redistribute it and/or modify
00008  * it under the terms of the GNU General Public License as published by
00009  * the Free Software Foundation; either version 2 of the License, or
00010  * (at your option) any later version
00011  *
00012  * Kamailio is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015  * GNU General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU General Public License
00018  * along with this program; if not, write to the Free Software
00019  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00020  *
00021  * History:
00022  * ---------
00023  * 2007-04-13   splitted from nathelper.c (ancuta)
00024 */
00025 
00026 
00027 #ifndef _NATHELPER_NATHELPER_H
00028 #define _NATHELPER_NATHELPER_H
00029 
00030 #include "../../str.h"
00031 
00032 /* Handy macros */
00033 #define STR2IOVEC(sx, ix)       do {(ix).iov_base = (sx).s; (ix).iov_len = (sx).len;} while(0)
00034 #define SZ2IOVEC(sx, ix)        do {(ix).iov_base = (sx); (ix).iov_len = strlen(sx);} while(0)
00035 
00036 struct rtpp_node {
00037    unsigned int      idx;        /* overall index */
00038    str               rn_url;        /* unparsed, deletable */
00039    int               rn_umode;
00040    char           *rn_address;   /* substring of rn_url */
00041    int               rn_disabled;   /* found unaccessible? */
00042    unsigned       rn_weight;     /* for load balancing */
00043    unsigned int      rn_recheck_ticks;
00044         int                     rn_rep_supported;
00045         int                     rn_ptl_supported;
00046    struct rtpp_node  *rn_next;
00047 };
00048 
00049 
00050 struct rtpp_set{
00051    unsigned int      id_set;
00052    unsigned       weight_sum;
00053    unsigned int      rtpp_node_count;
00054    int            set_disabled;
00055    unsigned int      set_recheck_ticks;
00056    struct rtpp_node  *rn_first;
00057    struct rtpp_node  *rn_last;
00058    struct rtpp_set     *rset_next;
00059 };
00060 
00061 
00062 struct rtpp_set_head{
00063    struct rtpp_set      *rset_first;
00064    struct rtpp_set      *rset_last;
00065 };
00066 
00067 /* Functions from nathelper */
00068 struct rtpp_node *select_rtpp_node(str, int);
00069 char *send_rtpp_command(struct rtpp_node *, struct iovec *, int);
00070 
00071 #endif

Generated on Wed May 23 20:00:28 2012 for Kamailio - The Open Source SIP Server by  doxygen 1.5.6