summaryrefslogtreecommitdiff
path: root/apps/plugins/pdbox/pdbox.h
diff options
context:
space:
mode:
authorPeter D'Hoye <peter.dhoye@gmail.com>2009-05-22 21:58:48 +0000
committerPeter D'Hoye <peter.dhoye@gmail.com>2009-05-22 21:58:48 +0000
commit513389b4c1bc8afe4b2dc9947c534bfeb105e3da (patch)
tree10e673b35651ac567fed2eda0c679c7ade64cbc6 /apps/plugins/pdbox/pdbox.h
parent95fa7f6a2ef466444fbe3fe87efc6d5db6b77b36 (diff)
Add FS #10214. Initial commit of the original PDa code for the GSoC Pure Data plugin project of Wincent Balin. Stripped some non-sourcefiles and added a rockbox readme that needs a bit more info from Wincent. Is added to CATEGORIES and viewers, but not yet to SUBDIRS (ie doesn't build yet)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21044 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/pdbox/pdbox.h')
-rw-r--r--apps/plugins/pdbox/pdbox.h142
1 files changed, 142 insertions, 0 deletions
diff --git a/apps/plugins/pdbox/pdbox.h b/apps/plugins/pdbox/pdbox.h
new file mode 100644
index 0000000000..d5e9a0f74d
--- /dev/null
+++ b/apps/plugins/pdbox/pdbox.h
@@ -0,0 +1,142 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2009 Wincent Balin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+#ifndef PDBOX_H
+#define PDBOX_H
+
+#if 0
+/* Use dbestfit. */
+#include "bmalloc.h"
+#include "dmalloc.h"
+#endif
+
+/* Minimal memory size. */
+#define MIN_MEM_SIZE (4 * 1024 * 1024)
+
+/* Maximal size of the datagram. */
+#define MAX_DATAGRAM_SIZE 255
+
+/* This structure replaces a UDP datagram. */
+struct datagram
+{
+ bool used;
+ uint8_t size;
+ char data[MAX_DATAGRAM_SIZE];
+};
+
+/* Network functions prototypes. */
+void net_init(void);
+void net_destroy(void);
+bool send_datagram(struct event_queue* route, int port,
+ char* data, size_t size);
+bool receive_datagram(struct event_queue* route, int port,
+ struct datagram* buffer);
+
+/* Network message queues. */
+extern struct event_queue gui_to_core;
+extern struct event_queue core_to_gui;
+
+/* UDP ports of the original software. */
+#define PD_CORE_PORT 3333
+#define PD_GUI_PORT 3334
+
+/* Convinience macros. */
+#define SEND_TO_CORE(data) \
+ send_datagram(&gui_to_core, PD_CORE_PORT, data, rb->strlen(data))
+#define RECEIVE_TO_CORE(buffer) \
+ receive_datagram(&gui_to_core, PD_CORE_PORT, buffer)
+#define SEND_FROM_CORE(data) \
+ send_datagram(&core_to_gui, PD_GUI_PORT, data, rb->strlen(data))
+#define RECEIVE_FROM_CORE(buffer) \
+ receive_datagram(&core_to_gui, PD_GUI_PORT, buffer)
+
+#endif
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2009 Wincent Balin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+#ifndef PDBOX_H
+#define PDBOX_H
+
+#if 0
+/* Use dbestfit. */
+#include "bmalloc.h"
+#include "dmalloc.h"
+#endif
+
+/* Minimal memory size. */
+#define MIN_MEM_SIZE (4 * 1024 * 1024)
+
+/* Maximal size of the datagram. */
+#define MAX_DATAGRAM_SIZE 255
+
+/* This structure replaces a UDP datagram. */
+struct datagram
+{
+ bool used;
+ uint8_t size;
+ char data[MAX_DATAGRAM_SIZE];
+};
+
+/* Network functions prototypes. */
+void net_init(void);
+void net_destroy(void);
+bool send_datagram(struct event_queue* route, int port,
+ char* data, size_t size);
+bool receive_datagram(struct event_queue* route, int port,
+ struct datagram* buffer);
+
+/* Network message queues. */
+extern struct event_queue gui_to_core;
+extern struct event_queue core_to_gui;
+
+/* UDP ports of the original software. */
+#define PD_CORE_PORT 3333
+#define PD_GUI_PORT 3334
+
+/* Convinience macros. */
+#define SEND_TO_CORE(data) \
+ send_datagram(&gui_to_core, PD_CORE_PORT, data, rb->strlen(data))
+#define RECEIVE_TO_CORE(buffer) \
+ receive_datagram(&gui_to_core, PD_CORE_PORT, buffer)
+#define SEND_FROM_CORE(data) \
+ send_datagram(&core_to_gui, PD_GUI_PORT, data, rb->strlen(data))
+#define RECEIVE_FROM_CORE(buffer) \
+ receive_datagram(&core_to_gui, PD_GUI_PORT, buffer)
+
+#endif