whitespace cleanup, don't include unnecessary header
[asterisk/asterisk.git] / include / asterisk / monitor.h
1 /*
2  * Asterisk -- An open source telephony toolkit.
3  *
4  * Copyright (C) 1999 - 2005, Digium, Inc.
5  *
6  * Mark Spencer <markster@digium.com>
7  *
8  * See http://www.asterisk.org for more information about
9  * the Asterisk project. Please do not directly contact
10  * any of the maintainers of this project for assistance;
11  * the project provides a web site, mailing lists and IRC
12  * channels for your use.
13  *
14  * This program is free software, distributed under the terms of
15  * the GNU General Public License Version 2. See the LICENSE file
16  * at the top of the source tree.
17  */
18
19 /*! \file
20  * \brief Channel monitoring
21  */
22
23 #ifndef _ASTERISK_MONITOR_H
24 #define _ASTERISK_MONITOR_H
25
26 #include "asterisk/channel.h"
27
28 struct ast_channel;
29
30 /*! Responsible for channel monitoring data */
31 struct ast_channel_monitor {
32         struct ast_filestream *read_stream;
33         struct ast_filestream *write_stream;
34         char read_filename[FILENAME_MAX];
35         char write_filename[FILENAME_MAX];
36         char filename_base[FILENAME_MAX];
37         int filename_changed;
38         char *format;
39         int joinfiles;
40         int (*stop)(struct ast_channel *chan, int need_lock);
41 };
42
43 /* Start monitoring a channel */
44 int ast_monitor_start(struct ast_channel *chan, const char *format_spec,
45                       const char *fname_base, int need_lock );
46
47 /* Stop monitoring a channel */
48 int ast_monitor_stop(struct ast_channel *chan, int need_lock);
49
50 /* Change monitoring filename of a channel */
51 int ast_monitor_change_fname(struct ast_channel *chan,
52                              const char *fname_base, int need_lock);
53
54 void ast_monitor_setjoinfiles(struct ast_channel *chan, int turnon);
55
56 #endif /* _ASTERISK_MONITOR_H */