make a symbol in module-ptorocol-stub static
[profile/ivi/pulseaudio.git] / src / polyp.h
1 #ifndef foopolyphfoo
2 #define foopolyphfoo
3
4 #include <sys/types.h>
5
6 #include "sample.h"
7 #include "polypdef.h"
8 #include "mainloop-api.h"
9
10 struct pa_context;
11
12 struct pa_context *pa_context_new(struct pa_mainloop_api *mainloop, const char *name);
13
14 int pa_context_connect(
15     struct pa_context *c,
16     const char *server,
17     void (*complete) (struct pa_context*c, int success, void *userdata),
18     void *userdata);
19
20 int pa_context_drain(
21     struct pa_context *c, 
22     void (*complete) (struct pa_context*c, void *userdata),
23     void *userdata);
24
25 void pa_context_free(struct pa_context *c);
26
27 void pa_context_set_die_callback(struct pa_context *c, void (*cb)(struct pa_context *c, void *userdata), void *userdata);
28
29 int pa_context_is_dead(struct pa_context *c);
30 int pa_context_is_ready(struct pa_context *c);
31 int pa_context_errno(struct pa_context *c);
32
33 int pa_context_is_pending(struct pa_context *c);
34
35 void pa_context_exit(struct pa_context *c);
36 void pa_context_stat(struct pa_context *c, void (*cb)(struct pa_context *c, uint32_t count, uint32_t total, void *userdata), void *userdata);
37
38 struct pa_stream;
39
40 struct pa_stream* pa_stream_new(
41     struct pa_context *c,
42     enum pa_stream_direction dir,
43     const char *dev,
44     const char *name,
45     const struct pa_sample_spec *ss,
46     const struct pa_buffer_attr *attr,
47     void (*complete) (struct pa_stream*s, int success, void *userdata),
48     void *userdata);
49
50 void pa_stream_free(struct pa_stream *p);
51
52 void pa_stream_drain(
53     struct pa_stream *s, 
54     void (*complete) (struct pa_stream*s, void *userdata),
55     void *userdata);
56
57
58 void pa_stream_set_die_callback(struct pa_stream *s, void (*cb)(struct pa_stream *s, void *userdata), void *userdata);
59
60 void pa_stream_set_write_callback(struct pa_stream *p, void (*cb)(struct pa_stream *p, size_t length, void *userdata), void *userdata);
61 void pa_stream_write(struct pa_stream *p, const void *data, size_t length);
62 size_t pa_stream_writable_size(struct pa_stream *p);
63
64 void pa_stream_set_read_callback(struct pa_stream *p, void (*cb)(struct pa_stream *p, const void*data, size_t length, void *userdata), void *userdata);
65
66 int pa_stream_is_dead(struct pa_stream *p);
67 int pa_stream_is_ready(struct pa_stream*p);
68
69 void pa_stream_get_latency(struct pa_stream *p, void (*cb)(struct pa_stream *p, uint32_t latency, void *userdata), void *userdata);
70
71 struct pa_context* pa_stream_get_context(struct pa_stream *p);
72
73 #endif