all: updated FSF address in GPL text
[sip-router] / modules / dmq / dmq_funcs.h
1 /**
2  * $Id$
3  *
4  * dmq module - distributed message queue
5  *
6  * Copyright (C) 2011 Bucur Marius - Ovidiu
7  *
8  * This file is part of Kamailio, a free SIP server.
9  *
10  * Kamailio is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * (at your option) any later version
14  *
15  * Kamailio is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License 
21  * along with this program; if not, write to the Free Software 
22  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
23  */
24
25
26 #ifndef _DMQ_FUNCS_H_
27 #define _DMQ_FUNCS_H_
28
29 #include "../../str.h"
30 #include "../../modules/tm/dlg.h"
31 #include "../../modules/tm/tm_load.h"
32 #include "../../config.h"
33 #include "peer.h"
34 #include "worker.h"
35 #include "dmqnode.h"
36
37 void ping_servers(unsigned int ticks,void *param);
38
39 typedef struct dmq_resp_cback {
40         int (*f)(struct sip_msg* msg, int code, dmq_node_t* node, void* param);
41         void* param;
42 } dmq_resp_cback_t;
43
44 typedef struct dmq_cback_param {
45         dmq_resp_cback_t resp_cback;
46         dmq_node_t* node;
47 } dmq_cback_param_t;
48
49 int cfg_dmq_send_message(struct sip_msg* msg, char* peer, char* to,
50                 char* body, char* content_type);
51 int cfg_dmq_bcast_message(struct sip_msg* msg, char* peer, char* body, 
52                 char* content_type);
53 dmq_peer_t* register_dmq_peer(dmq_peer_t* peer);
54 int dmq_send_message(dmq_peer_t* peer, str* body, dmq_node_t* node,
55                 dmq_resp_cback_t* resp_cback, int max_forwards, str* content_type);
56 int bcast_dmq_message(dmq_peer_t* peer, str* body, dmq_node_t* except,
57                 dmq_resp_cback_t* resp_cback, int max_forwards, str* content_type);
58
59 #endif
60