diff options
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 |