summaryrefslogtreecommitdiffstats
path: root/src/pdispatch.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/pdispatch.h')
-rw-r--r--src/pdispatch.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/pdispatch.h b/src/pdispatch.h
new file mode 100644
index 00000000..466da9a4
--- /dev/null
+++ b/src/pdispatch.h
@@ -0,0 +1,22 @@
+#ifndef foopdispatchhfoo
+#define foopdispatchhfoo
+
+#include <inttypes.h>
+#include "tagstruct.h"
+#include "packet.h"
+#include "mainloop-api.h"
+
+struct pdispatch;
+
+struct pdispatch_command {
+ int (*proc)(struct pdispatch *pd, uint32_t command, uint32_t tag, struct tagstruct *t, void *userdata);
+};
+
+struct pdispatch* pdispatch_new(struct pa_mainloop_api *m, const struct pdispatch_command*table, unsigned entries);
+void pdispatch_free(struct pdispatch *pd);
+
+int pdispatch_run(struct pdispatch *pd, struct packet*p, void *userdata);
+
+void pdispatch_register_reply(struct pdispatch *pd, uint32_t tag, int timeout, int (*cb)(struct pdispatch *pd, uint32_t command, uint32_t tag, struct tagstruct *t, void *userdata), void *userdata);
+
+#endif