Version 0.1.12 from FTP
[asterisk/asterisk.git] / include / asterisk / rtp.h
1 /*
2  * Asterisk -- A telephony toolkit for Linux.
3  *
4  * Real-time Transport Protocol support
5  * 
6  * Copyright (C) 1999, Mark Spencer
7  *
8  * Mark Spencer <markster@linux-support.net>
9  *
10  * This program is free software, distributed under the terms of
11  * the GNU General Public License
12  */
13
14 #ifndef _ASTERISK_RTP_H
15 #define _ASTERISK_RTP_H
16
17 #include <asterisk/frame.h>
18 #include <asterisk/io.h>
19 #include <asterisk/sched.h>
20
21 #include <netinet/in.h>
22
23 #if defined(__cplusplus) || defined(c_plusplus)
24 extern "C" {
25 #endif
26
27 struct ast_rtp;
28
29 typedef int (*ast_rtp_callback)(struct ast_rtp *rtp, struct ast_frame *f, void *data);
30
31 struct ast_rtp *ast_rtp_new(struct sched_context *sched, struct io_context *io);
32
33 void ast_rtp_set_peer(struct ast_rtp *rtp, struct sockaddr_in *them);
34
35 void ast_rtp_get_us(struct ast_rtp *rtp, struct sockaddr_in *us);
36
37 void ast_rtp_destroy(struct ast_rtp *rtp);
38
39 void ast_rtp_set_callback(struct ast_rtp *rtp, ast_rtp_callback callback);
40
41 void ast_rtp_set_data(struct ast_rtp *rtp, void *data);
42
43 int ast_rtp_write(struct ast_rtp *rtp, struct ast_frame *f);
44
45 int ast2rtp(int id);
46
47 int rtp2ast(int id);
48
49
50 #if defined(__cplusplus) || defined(c_plusplus)
51 }
52 #endif
53
54 #endif