1 /***************************************************************************
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
10 * Copyright (C) 2009 Wincent Balin
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
20 ****************************************************************************/
31 /* Minimal memory size. */
32 #define MIN_MEM_SIZE (4 * 1024 * 1024)
34 /* Maximal size of the datagram. */
35 #define MAX_DATAGRAM_SIZE 255
37 /* This structure replaces a UDP datagram. */
42 char data
[MAX_DATAGRAM_SIZE
];
45 /* Network functions prototypes. */
47 void net_destroy(void);
48 bool send_datagram(struct event_queue
* route
, int port
,
49 char* data
, size_t size
);
50 bool receive_datagram(struct event_queue
* route
, int port
,
51 struct datagram
* buffer
);
53 /* Network message queues. */
54 extern struct event_queue gui_to_core
;
55 extern struct event_queue core_to_gui
;
57 /* UDP ports of the original software. */
58 #define PD_CORE_PORT 3333
59 #define PD_GUI_PORT 3334
61 /* Convinience macros. */
62 #define SEND_TO_CORE(data) \
63 send_datagram(&gui_to_core, PD_CORE_PORT, data, rb->strlen(data))
64 #define RECEIVE_TO_CORE(buffer) \
65 receive_datagram(&gui_to_core, PD_CORE_PORT, buffer)
66 #define SEND_FROM_CORE(data) \
67 send_datagram(&core_to_gui, PD_GUI_PORT, data, rb->strlen(data))
68 #define RECEIVE_FROM_CORE(buffer) \
69 receive_datagram(&core_to_gui, PD_GUI_PORT, buffer)
72 /***************************************************************************
74 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
75 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
76 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
77 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
81 * Copyright (C) 2009 Wincent Balin
83 * This program is free software; you can redistribute it and/or
84 * modify it under the terms of the GNU General Public License
85 * as published by the Free Software Foundation; either version 2
86 * of the License, or (at your option) any later version.
88 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
89 * KIND, either express or implied.
91 ****************************************************************************/
102 /* Minimal memory size. */
103 #define MIN_MEM_SIZE (4 * 1024 * 1024)
105 /* Maximal size of the datagram. */
106 #define MAX_DATAGRAM_SIZE 255
108 /* This structure replaces a UDP datagram. */
113 char data
[MAX_DATAGRAM_SIZE
];
116 /* Network functions prototypes. */
118 void net_destroy(void);
119 bool send_datagram(struct event_queue
* route
, int port
,
120 char* data
, size_t size
);
121 bool receive_datagram(struct event_queue
* route
, int port
,
122 struct datagram
* buffer
);
124 /* Network message queues. */
125 extern struct event_queue gui_to_core
;
126 extern struct event_queue core_to_gui
;
128 /* UDP ports of the original software. */
129 #define PD_CORE_PORT 3333
130 #define PD_GUI_PORT 3334
132 /* Convinience macros. */
133 #define SEND_TO_CORE(data) \
134 send_datagram(&gui_to_core, PD_CORE_PORT, data, rb->strlen(data))
135 #define RECEIVE_TO_CORE(buffer) \
136 receive_datagram(&gui_to_core, PD_CORE_PORT, buffer)
137 #define SEND_FROM_CORE(data) \
138 send_datagram(&core_to_gui, PD_GUI_PORT, data, rb->strlen(data))
139 #define RECEIVE_FROM_CORE(buffer) \
140 receive_datagram(&core_to_gui, PD_GUI_PORT, buffer)