aboutsummaryrefslogtreecommitdiffstats
path: root/src/udp_server.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/udp_server.h (renamed from src/dirvec.h)49
1 files changed, 24 insertions, 25 deletions
diff --git a/src/dirvec.h b/src/udp_server.h
index a1a97d9f1..9e3471a45 100644
--- a/src/dirvec.h
+++ b/src/udp_server.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2003-2010 The Music Player Daemon Project
+ * Copyright (C) 2003-2011 The Music Player Daemon Project
* http://www.musicpd.org
*
* This program is free software; you can redistribute it and/or modify
@@ -17,37 +17,36 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifndef MPD_DIRVEC_H
-#define MPD_DIRVEC_H
+#ifndef MPD_UDP_SERVER_H
+#define MPD_UDP_SERVER_H
-#include <stddef.h>
-
-struct dirvec {
- struct directory **base;
- size_t nr;
-};
-
-void dirvec_init(void);
+#include <glib.h>
-void dirvec_deinit(void);
-
-void dirvec_sort(struct dirvec *dv);
-
-struct directory *dirvec_find(const struct dirvec *dv, const char *path);
+#include <stddef.h>
-int dirvec_delete(struct dirvec *dv, struct directory *del);
+struct sockaddr;
-void dirvec_add(struct dirvec *dv, struct directory *add);
+struct udp_server_handler {
+ /**
+ * A datagram was received.
+ */
+ void (*datagram)(int fd, const void *data, size_t length,
+ const struct sockaddr *source_address,
+ size_t source_address_length, void *ctx);
+};
-static inline void
-dirvec_clear(struct dirvec *dv)
+static inline GQuark
+udp_server_quark(void)
{
- dv->nr = 0;
+ return g_quark_from_static_string("udp_server");
}
-void dirvec_destroy(struct dirvec *dv);
+struct udp_server *
+udp_server_new(unsigned port,
+ const struct udp_server_handler *handler, void *ctx,
+ GError **error_r);
-int dirvec_for_each(const struct dirvec *dv,
- int (*fn)(struct directory *, void *), void *arg);
+void
+udp_server_free(struct udp_server *udp);
-#endif /* DIRVEC_H */
+#endif