rockbox/apps/plugins/pdbox
Thomas Martitz cae4ae2c71 Second try: Introduce plugin_crt0.c that every plugin links.
It handles exit() properly, calling the handler also when the plugin returns
normally (also make exit() more standard compliant while at it).
It also holds PLUGIN_HEADER, so that it doesn't need to be in each plugin anymore.

To work better together with callbacks passed to rb->default_event_handler_ex() introduce exit_on_usb() which will call the exit handler before showing the usb screen and exit() after it.
In most cases rb->default_event_handler_ex() was passed a callback which was manually called at all other return points. This can now be done via atexit().

In future plugin_crt0.c could also handle clearing bss, initializing iram and more.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27873 a1c6a512-1295-4272-9138-f99709370657
2010-08-24 14:30:46 +00:00
..
PDa pdbox: avoid making own DEBUG clash with rockbox define 2010-07-11 16:46:49 +00:00
math.h
pdbox-func.c
pdbox-gui.c pdbox: Reduced (visible) precision of numbers shown in the GUI. 2010-06-04 18:07:01 +00:00
pdbox-net.c
pdbox.c Second try: Introduce plugin_crt0.c that every plugin links. 2010-08-24 14:30:46 +00:00
pdbox.h pdbox: Added Sansa e200 to supported devices. 2010-07-05 01:31:57 +00:00
pdbox.make pdbox: disable strict aliasing optimizations since pdbox breaks the strict aliasing rules which causes warnings. 2010-07-23 08:56:18 +00:00
README.rockbox
SOURCES pdbox: Added keypad for iPod 1G-4G. Reordered SOURCES alphabetically. 2010-06-03 02:34:19 +00:00

Library: PDa (Pure Data Anywhere)
Imported: 2009-05-22 by Wincent Balin (GSoC), commit by Peter D'Hoye

This directory structure contains the Pure Data Anywhere implementation

LICENSING INFORMATION

PDa is licensed under the Standard Improved BSD License and is copyrighted
by Miller Puckette and others

IMPORT DETAILS

PDbox is based on PDa 0.6 which is based on pd-0.37-4 (around the end of 2004).

Additionally a minor patch was applied to the file s_loader.c to prevent
loading of shared libraries, which would not work in Rockbox anyway.

The changes applied fall into three categories: networking, file operations
and others. As Rockbox does not have a networking, a lightweight messaging
system was implemented for communication. File operations differ under
Rockbox from those under desktop operating systems a little. Most, if not all
changes are recognizable by their using of the ROCKBOX preprocessor variable
(i.e. #ifdef ROCKBOX, #endif /* ROCKBOX */).