Commit graph

22 commits

Author SHA1 Message Date
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
Thomas Martitz
93cb949372 Revert "Introduce plugin_crt0.c that every plugin links."
Too much errors and no time to fix them now.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27863 a1c6a512-1295-4272-9138-f99709370657
2010-08-23 17:12:26 +00:00
Thomas Martitz
abdc5935be Introduce plugin_crt0.c that every plugin links.
It handles exit() properly, calling the handler also when the plugin returns
normally (also it makes 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 it 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@27862 a1c6a512-1295-4272-9138-f99709370657
2010-08-23 16:56:49 +00:00
Thomas Martitz
0a1d7c28b7 Make open() posix compliant api-wise. A few calls (those with O_CREAT) need the additional optional mode parameter so add it. Impact for the core is almost zero, as open() is a wrapper macro for the real open function which doesn't take the variable parameter.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25844 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 17:35:13 +00:00
Andrew Mahone
23d9812273 loader-initialized global plugin API:
struct plugin_api *rb is declared in PLUGIN_HEADER, and pointed to by
__header.api

the loader uses this pointer to initialize rb before calling entry_point

entry_point is no longer passed a pointer to the plugin API

all plugins, and pluginlib functions, are modified to refer to the
global rb

pluginlib functions which only served to copy the API pointer are
removed

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19776 a1c6a512-1295-4272-9138-f99709370657
2009-01-16 10:34:40 +00:00
Daniel Stenberg
2acc0ac542 Updated our source code header to explicitly mention that we are GPL v2 or
later. We still need to hunt down snippets used that are not. 1324 modified
files...
http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 18:10:04 +00:00
Steve Bavin
6526577818 Plugin parameters should be const.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17492 a1c6a512-1295-4272-9138-f99709370657
2008-05-13 09:57:56 +00:00
Michael Sevakis
26d242ae65 General housekeeping: Make plugin buffer functions take size_t * instead of int * to match the parameter type of the buffer functions called in the core. Get rid of unsafe int * <==> size_t * casting. Use ssize_t where int was used and size_t where unsigned int was used in the buffer calls to not alter signedness in the plugins. No API version change since it should only be an issue for 64-bit sim builds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13233 a1c6a512-1295-4272-9138-f99709370657
2007-04-21 18:38:25 +00:00
Jens Arnold
4d6374c923 Get rid of the 'center' parameter for splashes. There were only 2 of almost 500 splashes which were not centered.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12807 a1c6a512-1295-4272-9138-f99709370657
2007-03-16 21:56:08 +00:00
Jens Arnold
b621de368b Fixed more pointer size vs. int size problems (64 bit sims)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8882 a1c6a512-1295-4272-9138-f99709370657
2006-03-02 01:37:54 +00:00
Jens Arnold
a36b1d4083 New plugin loader. Solves the crashes introduced with the .bss changes while keeping the small binary size. The model & api version check is now part of the plugin loader. Codecs are not yet adapted, but the old method still works for them. Simulator plugins are not (yet) version-checked. API version numbering restarted, as this is an all-new system. Uses the target ID from configure, so don't change that too often.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8349 a1c6a512-1295-4272-9138-f99709370657
2006-01-15 18:20:18 +00:00
Jonas Häggqvist
68de2581ba Fake an USB connections to force reload of the file-tree after running these viewers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7434 a1c6a512-1295-4272-9138-f99709370657
2005-08-31 00:30:46 +00:00
Michiel Van Der Kolk
fe708f22d5 fixes warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6388 a1c6a512-1295-4272-9138-f99709370657
2005-04-29 23:40:52 +00:00
Michiel Van Der Kolk
872dd87375 whoops.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6387 a1c6a512-1295-4272-9138-f99709370657
2005-04-29 23:33:55 +00:00
Michiel Van Der Kolk
f5f8c05a31 *whistles*
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6386 a1c6a512-1295-4272-9138-f99709370657
2005-04-29 23:20:41 +00:00
Michiel Van Der Kolk
6ca9500811 hopefully fixes alignment and doesn't break anything..
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6385 a1c6a512-1295-4272-9138-f99709370657
2005-04-29 23:15:07 +00:00
Michiel Van Der Kolk
ec407a86a7 Code policy...
Removed tokentool for now since this is not the proper place, but what is?


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6383 a1c6a512-1295-4272-9138-f99709370657
2005-04-29 21:02:17 +00:00
Michiel Van Der Kolk
238bea7370 dumb dumb dumb dumb dumb.....
some rearrangements of code..
bugs were in the tokentool tokenstream generator X.x..
dumb :/


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6380 a1c6a512-1295-4272-9138-f99709370657
2005-04-28 18:49:23 +00:00
Michiel Van Der Kolk
c099300c8d Count hits... string searches appear to be broken for now, unsure why,
maybe something goes wrong when allocating ram for the strings..


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6373 a1c6a512-1295-4272-9138-f99709370657
2005-04-28 16:39:41 +00:00
Michiel Van Der Kolk
29909a341a Read searchquery from a search "file" (search tokenstream)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6372 a1c6a512-1295-4272-9138-f99709370657
2005-04-28 14:48:12 +00:00
Michiel Van Der Kolk
c013936d18 No unneeded delays...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6368 a1c6a512-1295-4272-9138-f99709370657
2005-04-28 12:40:41 +00:00
Michiel Van Der Kolk
9369d4867d Search engine core for database v2, has an hardcoded "songs for year >= 1980 and year < 1990" at the moment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6367 a1c6a512-1295-4272-9138-f99709370657
2005-04-28 12:33:38 +00:00