d4b5c2bb7513f0b9a6734ac1c3bf447cc0937ef8
[sip-router] / script_cb.h
1 /*
2  * $Id$
3  *
4  * Copyright (C) 2001-2003 Fhg Fokus
5  *
6  * This file is part of ser, a free SIP server.
7  *
8  * ser is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version
12  *
13  * For a license to use the ser software under conditions
14  * other than those described here, or to purchase support for this
15  * software, please contact iptel.org by e-mail at the following addresses:
16  *    info@iptel.org
17  *
18  * ser is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21  * GNU General Public License for more details.
22  *
23  * You should have received a copy of the GNU General Public License 
24  * along with this program; if not, write to the Free Software 
25  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
26  */
27
28 #ifndef _SCRIPT_CB_H_
29 #define _SCRIPT_CB_H_
30
31 #include "parser/msg_parser.h"
32
33 typedef int (cb_function)( struct sip_msg *msg, void *param );
34
35 typedef enum {
36     PRE_SCRIPT_CB,
37         POST_SCRIPT_CB
38 } callback_t;       /* Allowed types of callbacks */
39
40
41 struct script_cb{
42         cb_function *cbf;
43         struct script_cb *next;
44         unsigned int id;
45         void *param;
46 };
47
48 int register_script_cb( cb_function f, callback_t t, void *param );
49 int exec_pre_cb( struct sip_msg *msg);
50 void exec_post_cb( struct sip_msg *msg);
51 void destroy_script_cb();
52
53 #endif
54