1
0
Fork 0
forked from len0rd/rockbox

The plugin API now supports ctype macros like tolower() and friends

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4872 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Linus Nielsen Feltzing 2004-07-13 14:01:41 +00:00
parent ae9b319ec5
commit 0c458c043a
4 changed files with 17 additions and 17 deletions

View file

@ -21,6 +21,7 @@
#include <stdio.h>
#include <atoi.h>
#include <timefuncs.h>
#include <ctype.h>
#include "debug.h"
#include "button.h"
#include "lcd.h"
@ -147,6 +148,9 @@ static struct plugin_api rockbox_api = {
strlen,
memset,
memcpy,
#ifndef SIMULATOR
_ctype_,
#endif
/* sound */
#ifndef SIMULATOR
@ -209,6 +213,7 @@ static struct plugin_api rockbox_api = {
mpeg_next_track,
playlist_amount,
mpeg_status,
mpeg_has_changed_track,
#ifdef HAVE_LCD_BITMAP
font_get,
#endif
@ -230,6 +235,7 @@ static struct plugin_api rockbox_api = {
#endif
battery_level,
set_time,
reset_poweroff_timer,
backlight_on,
backlight_off,
@ -237,9 +243,6 @@ static struct plugin_api rockbox_api = {
#ifdef HAVE_LCD_CHARCELLS
lcd_icon,
#endif
reset_poweroff_timer,
mpeg_has_changed_track,
};
int plugin_load(char* plugin, void* parameter)

View file

@ -60,12 +60,12 @@
#endif
/* increase this every time the api struct changes */
#define PLUGIN_API_VERSION 18
#define PLUGIN_API_VERSION 19
/* update this to latest version if a change to the api struct breaks
backwards compatibility (and please take the opportunity to sort in any
new function which are "waiting" at the end of the function table) */
#define PLUGIN_MIN_API_VERSION 18
#define PLUGIN_MIN_API_VERSION 19
/* plugin return codes */
enum plugin_status {
@ -176,6 +176,9 @@ struct plugin_api {
size_t (*strlen)(const char *str);
void* (*memset)(void *dst, int c, size_t length);
void* (*memcpy)(void *out, const void *in, size_t n);
#ifndef SIMULATOR
char *_ctype_;
#endif
/* sound */
#ifndef SIMULATOR
@ -240,6 +243,7 @@ struct plugin_api {
struct mp3entry* (*mpeg_next_track)(void);
int (*playlist_amount)(void);
int (*mpeg_status)(void);
bool (*mpeg_has_changed_track)(void);
#ifdef HAVE_LCD_BITMAP
struct font* (*font_get)(int font);
@ -267,6 +271,7 @@ struct plugin_api {
#endif
int (*battery_level)(void);
int (*set_time)(struct tm *tm);
void (*reset_poweroff_timer)(void);
void (*backlight_on)(void);
void (*backlight_off)(void);
@ -274,9 +279,6 @@ struct plugin_api {
#ifdef HAVE_LCD_CHARCELLS
void (*lcd_icon)(int icon, bool enable);
#endif
void (*reset_poweroff_timer)(void);
bool (*mpeg_has_changed_track)(void);
};
/* defined by the plugin loader (plugin.c) */

View file

@ -18,17 +18,8 @@
*
****************************************************************************/
#include "plugin.h"
#ifdef HAVE_LCD_BITMAP
#include "recorder/widgets.h"
#endif
#include <ctype.h>
#ifndef SIMULATOR
#include <ctype.c>
#endif
#if PLUGIN_API_VERSION < 3
#error Scrollbar function requires PLUGIN_API_VERSION 3 at least
#endif

View file

@ -36,7 +36,11 @@ int _EXFUN(_toupper, (int __c));
#define _X 0100
#define _B 0200
#ifdef PLUGIN
#define _ctype_ (rb->_ctype_)
#else
extern char _ctype_[];
#endif
#ifndef __cplusplus
#define isalpha(c) ((_ctype_+1)[(unsigned)(c)]&(_U|_L))