diff options
author | Steve Bavin <pondlife@pondlife.me> | 2008-05-13 09:57:56 +0000 |
---|---|---|
committer | Steve Bavin <pondlife@pondlife.me> | 2008-05-13 09:57:56 +0000 |
commit | 652657781805d9cc10d744a49fb23eb17019fbbf (patch) | |
tree | 2d1a6ae597a17531f726b57fd9f8cbaa2a46a07f | |
parent | a94e40d5153ab698fa8a1b6b57d91fcb6acc905e (diff) | |
download | rockbox-652657781805d9cc10d744a49fb23eb17019fbbf.tar.gz rockbox-652657781805d9cc10d744a49fb23eb17019fbbf.zip |
Plugin parameters should be const.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17492 a1c6a512-1295-4272-9138-f99709370657
159 files changed, 363 insertions, 371 deletions
diff --git a/apps/plugin.c b/apps/plugin.c index 230013e127..10ac016e3a 100644 --- a/apps/plugin.c +++ b/apps/plugin.c @@ -600,7 +600,7 @@ static const struct plugin_api rockbox_api = { #endif /* HAVE_BUTTON_LIGHT */ }; -int plugin_load(const char* plugin, void* parameter) +int plugin_load(const char* plugin, const void* parameter) { int rc; struct plugin_header *hdr; @@ -719,8 +719,7 @@ int plugin_load(const char* plugin, void* parameter) invalidate_icache(); - rc = hdr->entry_point((struct plugin_api*) &rockbox_api, parameter); - /* explicitly casting the pointer here to avoid touching every plugin. */ + rc = hdr->entry_point(&rockbox_api, parameter); button_clear_queue(); diff --git a/apps/plugin.h b/apps/plugin.h index 1562fe640f..87b129319a 100644 --- a/apps/plugin.h +++ b/apps/plugin.h @@ -120,12 +120,12 @@ #define PLUGIN_MAGIC 0x526F634B /* RocK */ /* increase this every time the api struct changes */ -#define PLUGIN_API_VERSION 111 +#define PLUGIN_API_VERSION 112 /* 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 108 +#define PLUGIN_MIN_API_VERSION 112 /* plugin return codes */ enum plugin_status { @@ -291,7 +291,7 @@ struct plugin_api { void (*viewport_set_defaults)(struct viewport *vp, enum screen_type screen); /* list */ void (*gui_synclist_init)(struct gui_synclist * lists, - list_get_name callback_get_item_name,void * data, + list_get_name callback_get_item_name, void * data, bool scroll_all,int selected_size, struct viewport parent[NB_SCREENS]); void (*gui_synclist_set_nb_items)(struct gui_synclist * lists, int nb_items); @@ -754,7 +754,7 @@ struct plugin_header { unsigned short api_version; unsigned char *load_addr; unsigned char *end_addr; - enum plugin_status(*entry_point)(struct plugin_api*, void*); + enum plugin_status(*entry_point)(const struct plugin_api*, const void*); }; #ifdef PLUGIN @@ -792,7 +792,7 @@ extern unsigned char plugin_end_addr[]; #endif /* PLUGIN_USE_IRAM */ #endif /* PLUGIN */ -int plugin_load(const char* plugin, void* parameter); +int plugin_load(const char* plugin, const void* parameter); void* plugin_get_buffer(size_t *buffer_size); void* plugin_get_audio_buffer(size_t *buffer_size); #ifdef PLUGIN_USE_IRAM @@ -806,7 +806,7 @@ void plugin_iram_init(char *iramstart, char *iramcopy, size_t iram_size, void plugin_tsr(bool (*exit_callback)(bool reenter)); /* defined by the plugin */ -enum plugin_status plugin_start(struct plugin_api* rockbox, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* rockbox, const void* parameter) NO_PROF_ATTR; /* Use this macro in plugins where gcc tries to optimize by calling diff --git a/apps/plugins/alpine_cdc.c b/apps/plugins/alpine_cdc.c index 89fc8401ac..6f921e3af8 100644 --- a/apps/plugins/alpine_cdc.c +++ b/apps/plugins/alpine_cdc.c @@ -133,8 +133,8 @@ void sound_neutral(void); /* set to everything flat and 0 dB volume */ void sound_normal(void); /* return to user settings */ void thread(void); /* the thread running it all */ -int main(void* parameter); /* main loop */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter); /* entry */ +int main(const void* parameter); /* main loop */ +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter); /* entry */ /****************** data types ******************/ @@ -207,7 +207,7 @@ struct struct thread_entry *thread; /* worker thread id */ } gTread; -static struct plugin_api* rb; /* here is the global API struct pointer */ +static const struct plugin_api* rb; /* here is the global API struct pointer */ /****************** implementation ******************/ @@ -1133,7 +1133,7 @@ bool exit_tsr(bool reenter) /****************** main ******************/ -int main(void* parameter) +int main(const void* parameter) { (void)parameter; #ifdef DEBUG @@ -1189,7 +1189,7 @@ int main(void* parameter) /***************** Plugin Entry Point *****************/ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { rb = api; /* copy to global api pointer */ diff --git a/apps/plugins/battery_bench.c b/apps/plugins/battery_bench.c index e2f76062c6..de92c91fa3 100644 --- a/apps/plugins/battery_bench.c +++ b/apps/plugins/battery_bench.c @@ -169,14 +169,14 @@ PLUGIN_HEADER #endif /****************************** Plugin Entry Point ****************************/ -static struct plugin_api* rb; +static const struct plugin_api* rb; MEM_FUNCTION_WRAPPERS(rb); int main(void); bool exit_tsr(bool); void thread(void); -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { (void)parameter; rb = api; diff --git a/apps/plugins/beatbox/beatbox.c b/apps/plugins/beatbox/beatbox.c index e24c8e7d0c..7cc7c167f9 100644 --- a/apps/plugins/beatbox/beatbox.c +++ b/apps/plugins/beatbox/beatbox.c @@ -178,7 +178,7 @@ const unsigned char * drumNames[]={ long gmbuf[BUF_SIZE*NBUF]; int quit=0; -struct plugin_api * rb; +const struct plugin_api * rb; #define STATE_STOPPED 0 @@ -232,7 +232,7 @@ int editState=EDITSTATE_PATTERN; int playState=STATE_STOPPED, stepFlag=0; -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int retval = 0; diff --git a/apps/plugins/blackjack.c b/apps/plugins/blackjack.c index c3d4926683..a23a833128 100644 --- a/apps/plugins/blackjack.c +++ b/apps/plugins/blackjack.c @@ -313,7 +313,7 @@ extern const fb_data card_back[]; #define NEXT_CARD bj->player_cards[done][bj->num_player_cards[done]] /* global rockbox api */ -static struct plugin_api* rb; +static const struct plugin_api* rb; MEM_FUNCTION_WRAPPERS(rb); @@ -1529,7 +1529,8 @@ static int blackjack(struct game_context* bj) { /***************************************************************************** * plugin entry point. ******************************************************************************/ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) { +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) +{ struct game_context bj; bool exit = false; unsigned int position; diff --git a/apps/plugins/bounce.c b/apps/plugins/bounce.c index c8a40dec4a..7ad73f6aa4 100644 --- a/apps/plugins/bounce.c +++ b/apps/plugins/bounce.c @@ -167,7 +167,7 @@ PLUGIN_HEADER #endif #endif -static struct plugin_api* rb; +static const struct plugin_api* rb; #define LETTER_WIDTH 11 #define LETTER_HEIGHT 16 @@ -573,7 +573,7 @@ static int loopit(void) } -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int w, h; char *off = "[Off] to stop"; diff --git a/apps/plugins/brickmania.c b/apps/plugins/brickmania.c index f0059ba633..756b4de0ec 100644 --- a/apps/plugins/brickmania.c +++ b/apps/plugins/brickmania.c @@ -195,7 +195,7 @@ PLUGIN_HEADER #endif -static struct plugin_api* rb; +static const struct plugin_api* rb; enum menu_items { BM_START, @@ -2015,7 +2015,7 @@ int game_loop(void) } /* this is the plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { (void)parameter; rb = api; diff --git a/apps/plugins/bubbles.c b/apps/plugins/bubbles.c index bc76c15962..32e921338f 100644 --- a/apps/plugins/bubbles.c +++ b/apps/plugins/bubbles.c @@ -192,7 +192,7 @@ PLUGIN_HEADER #define MIN_DISTANCE ((BUBBLE_WIDTH*8)/10)*((BUBBLE_HEIGHT*8)/10) /* global rockbox api */ -static struct plugin_api* rb; +static const struct plugin_api* rb; /* levels */ char level[NUM_LEVELS][BB_LEVEL_HEIGHT][BB_WIDTH] = { @@ -2585,7 +2585,7 @@ static int bubbles(struct game_context* bb) { /***************************************************************************** * plugin entry point. ******************************************************************************/ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) { +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { struct game_context bb; bool exit = false; int position; diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c index 89bec041c9..47facaadf4 100644 --- a/apps/plugins/calculator.c +++ b/apps/plugins/calculator.c @@ -290,7 +290,7 @@ PLUGIN_HEADER #endif #endif -static struct plugin_api* rb; +static const struct plugin_api* rb; MEM_FUNCTION_WRAPPERS(rb); enum { @@ -1536,7 +1536,7 @@ void sciButtonsProcess(void){ /* ----------------------------------------------------------------------- Main(); ----------------------------------------------------------------------- */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { (void)parameter; rb = api; diff --git a/apps/plugins/calendar.c b/apps/plugins/calendar.c index 8798406b2e..70ca2b4b17 100644 --- a/apps/plugins/calendar.c +++ b/apps/plugins/calendar.c @@ -25,7 +25,7 @@ PLUGIN_HEADER -static struct plugin_api* rb; +static const struct plugin_api* rb; static bool leap_year; static int days_in_month[2][13] = { @@ -659,7 +659,7 @@ static void prev_day(struct shown *shown, int step) draw_calendar(shown); } -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { struct today today; struct shown shown; diff --git a/apps/plugins/chessbox.c b/apps/plugins/chessbox.c index fc3b703b2c..e6fca80a70 100644 --- a/apps/plugins/chessbox.c +++ b/apps/plugins/chessbox.c @@ -27,7 +27,7 @@ PLUGIN_HEADER /* this is the plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { return run_overlay(api, parameter, PLUGIN_GAMES_DIR "/chessbox.ovl", "ChessBox"); } diff --git a/apps/plugins/chessbox/chessbox.c b/apps/plugins/chessbox/chessbox.c index f9e1020461..a90ddd68cb 100644 --- a/apps/plugins/chessbox/chessbox.c +++ b/apps/plugins/chessbox/chessbox.c @@ -902,7 +902,7 @@ void cb_play_game(void) { /***************************************************************************** * plugin entry point. ******************************************************************************/ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) { +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { /* plugin init */ diff --git a/apps/plugins/chessbox/chessbox_pgn.c b/apps/plugins/chessbox/chessbox_pgn.c index 94bda2eaaa..a2b05af255 100644 --- a/apps/plugins/chessbox/chessbox_pgn.c +++ b/apps/plugins/chessbox/chessbox_pgn.c @@ -24,7 +24,7 @@ #define LOG_FILE PLUGIN_GAMES_DIR "/chessbox.log" int loghandler; -struct plugin_api* rb; +const struct plugin_api* rb; short kn_offs[8][2] = {{2,1},{2,-1},{-2,1},{-2,-1},{1,2},{1,-2},{-1,2},{-1,-2}}; short rk_offs[4][2] = {{1,0},{-1,0},{0,1},{0,-1}}; @@ -556,7 +556,7 @@ void write_pgn_token(int fhandler, char *buffer, size_t *line_length){ } /* ---- api functions ---- */ -struct pgn_game_node* pgn_list_games(struct plugin_api* api,const char* filename){ +struct pgn_game_node* pgn_list_games(const struct plugin_api* api,const char* filename){ int fhandler; char line_buffer[128]; struct pgn_game_node size_node, *first_game = NULL; @@ -614,7 +614,7 @@ struct pgn_game_node* pgn_list_games(struct plugin_api* api,const char* filename return first_game; } -struct pgn_game_node* pgn_show_game_list(struct plugin_api* api, +struct pgn_game_node* pgn_show_game_list(const struct plugin_api* api, struct pgn_game_node* first_game){ int curr_selection = 0; int button; @@ -659,7 +659,7 @@ struct pgn_game_node* pgn_show_game_list(struct plugin_api* api, } } -void pgn_parse_game(struct plugin_api* api, const char* filename, +void pgn_parse_game(const struct plugin_api* api, const char* filename, struct pgn_game_node* selected_game){ struct pgn_ply_node size_ply, *first_ply = NULL; struct pgn_ply_node *temp_ply = NULL, *curr_node = NULL; @@ -729,7 +729,7 @@ void pgn_parse_game(struct plugin_api* api, const char* filename, rb->close(fhandler); } -struct pgn_game_node* pgn_init_game(struct plugin_api* api){ +struct pgn_game_node* pgn_init_game(const struct plugin_api* api){ struct pgn_game_node game_size, *game; struct pgn_ply_node ply_size, *ply; struct tm *current_time; @@ -767,7 +767,7 @@ struct pgn_game_node* pgn_init_game(struct plugin_api* api){ return game; } -void pgn_append_ply(struct plugin_api* api, struct pgn_game_node* game, +void pgn_append_ply(const struct plugin_api* api, struct pgn_game_node* game, unsigned short ply_player, char *move_buffer, bool is_mate){ struct pgn_ply_node ply_size, *ply, *temp; @@ -801,7 +801,7 @@ void pgn_append_ply(struct plugin_api* api, struct pgn_game_node* game, temp->prev_node = ply; } -void pgn_set_result(struct plugin_api* api, struct pgn_game_node* game, +void pgn_set_result(const struct plugin_api* api, struct pgn_game_node* game, bool is_mate){ rb = api; @@ -815,7 +815,7 @@ void pgn_set_result(struct plugin_api* api, struct pgn_game_node* game, } } -void pgn_store_game(struct plugin_api* api, struct pgn_game_node* game){ +void pgn_store_game(const struct plugin_api* api, struct pgn_game_node* game){ int fhandler; struct pgn_ply_node *ply; unsigned ply_count; diff --git a/apps/plugins/chessbox/chessbox_pgn.h b/apps/plugins/chessbox/chessbox_pgn.h index 672bacaf6e..a457619887 100644 --- a/apps/plugins/chessbox/chessbox_pgn.h +++ b/apps/plugins/chessbox/chessbox_pgn.h @@ -350,35 +350,35 @@ struct pgn_game_node { * the user selects a game, that obviously saves processing * and speeds up response when the user selects the file */ -struct pgn_game_node* pgn_list_games(struct plugin_api* api, +struct pgn_game_node* pgn_list_games(const struct plugin_api* api, const char* filename); /* Show the list of games found in a file and allow the user * to select a game to be parsed and showed */ -struct pgn_game_node* pgn_show_game_list(struct plugin_api* api, +struct pgn_game_node* pgn_show_game_list(const struct plugin_api* api, struct pgn_game_node* first_game); /* Parse the pgn string of a game and assign it to the move * list in the structure */ -void pgn_parse_game(struct plugin_api* api, const char* filename, +void pgn_parse_game(const struct plugin_api* api, const char* filename, struct pgn_game_node* selected_game); /* Initialize a new game structure with default values and make * it ready to store the history of a newly played match */ -struct pgn_game_node* pgn_init_game(struct plugin_api* api); +struct pgn_game_node* pgn_init_game(const struct plugin_api* api); /* Add a new ply to the game structure based on the positions */ -void pgn_append_ply(struct plugin_api* api, struct pgn_game_node* game, +void pgn_append_ply(const struct plugin_api* api, struct pgn_game_node* game, unsigned short ply_player, char *move_buffer, bool is_mate); /* Set the result of the game if it was reached during the opponent's ply */ -void pgn_set_result(struct plugin_api* api, struct pgn_game_node* game, +void pgn_set_result(const struct plugin_api* api, struct pgn_game_node* game, bool is_mate); /* Store a complete game in the PGN history file */ -void pgn_store_game(struct plugin_api* api, struct pgn_game_node* game); +void pgn_store_game(const struct plugin_api* api, struct pgn_game_node* game); diff --git a/apps/plugins/chessbox/gnuchess.c b/apps/plugins/chessbox/gnuchess.c index 3574dd6fbe..51e200d0f2 100644 --- a/apps/plugins/chessbox/gnuchess.c +++ b/apps/plugins/chessbox/gnuchess.c @@ -64,7 +64,7 @@ #define taxicab(a,b) (abs(column[a]-column[b]) + abs(row[a]-row[b])) /* ---- RockBox datatypes and variables */ -struct plugin_api* rb; +const struct plugin_api* rb; /* ---- Chess datatypes and variables ---- */ struct leaf diff --git a/apps/plugins/chessbox/gnuchess.h b/apps/plugins/chessbox/gnuchess.h index 6a4a6bdd4e..b80647a287 100644 --- a/apps/plugins/chessbox/gnuchess.h +++ b/apps/plugins/chessbox/gnuchess.h @@ -44,7 +44,7 @@ extern struct TimeControlRec TimeControl; extern struct GameRec GameList[240]; /* ---- RockBox integration ---- */ -extern struct plugin_api* rb; +extern const struct plugin_api* rb; /* ---- The beginning of a GNUChess v2 APIfication ---- */ void SetTimeControl(void); diff --git a/apps/plugins/chessclock.c b/apps/plugins/chessclock.c index d3e39e04ad..0235473438 100644 --- a/apps/plugins/chessclock.c +++ b/apps/plugins/chessclock.c @@ -224,7 +224,7 @@ PLUGIN_HEADER /* here is a global api struct pointer. while not strictly necessary, it's nice not to have to pass the api pointer in all function calls in the plugin */ -static struct plugin_api* rb; +static const struct plugin_api* rb; MEM_FUNCTION_WRAPPERS(rb); #define MAX_PLAYERS 10 @@ -257,7 +257,7 @@ static bool pause; #define MAX_TIME 7200 /* this is the plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int i; bool done; diff --git a/apps/plugins/chip8.c b/apps/plugins/chip8.c index e00e4213e8..d62ff5a7bf 100644 --- a/apps/plugins/chip8.c +++ b/apps/plugins/chip8.c @@ -24,7 +24,7 @@ PLUGIN_HEADER -static struct plugin_api* rb; /* here is a global api struct pointer */ +static const struct plugin_api* rb; /* here is a global api struct pointer */ #define EXTERN static #define STATIC static @@ -1287,7 +1287,7 @@ static void chip8_interrupt (void) starttimer = newtimer - runtime; } -static bool chip8_init(char* file) +static bool chip8_init(const char* file) { int numread; int fd; @@ -1307,14 +1307,16 @@ static bool chip8_init(char* file) rb->close(fd); /* is there a c8k file (chip8 keys) ? */ + char c8kname[MAX_PATH]; + rb->strcpy(c8kname, file); for(i=0; i<16; i++) { chip8_virtual_keys[i] = 0; chip8_keymap[i] = i; } - len = rb->strlen(file); - file[len-2] = '8'; - file[len-1] = 'k'; - fd = rb->open(file, O_RDONLY); + len = rb->strlen(c8kname); + c8kname[len-2] = '8'; + c8kname[len-1] = 'k'; + fd = rb->open(c8kname, O_RDONLY); if (fd!=-1) { rb->lcd_puts(0, 6, "File&Keymap OK."); numread = rb->read(fd, chip8_keymap, 16); @@ -1340,7 +1342,7 @@ static bool chip8_init(char* file) return true; } -bool chip8_run(char* file) +bool chip8_run(const char* file) { int ok; @@ -1406,9 +1408,9 @@ bool chip8_run(char* file) /***************** Plugin Entry Point *****************/ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { - char* filename; + const char* filename; rb = api; /* copy to global api pointer */ diff --git a/apps/plugins/chopper.c b/apps/plugins/chopper.c index 2ab7c09d1c..09d281ea81 100644 --- a/apps/plugins/chopper.c +++ b/apps/plugins/chopper.c @@ -125,7 +125,7 @@ Still To do: #endif #endif -static struct plugin_api* rb; +static const struct plugin_api* rb; #define NUMBER_OF_BLOCKS 8 #define NUMBER_OF_PARTICLES 3 @@ -979,7 +979,7 @@ void chopper_load(bool newgame) } /* this is the plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { (void)parameter; rb = api; diff --git a/apps/plugins/clock/clock.c b/apps/plugins/clock/clock.c index 07057d21b2..588112cf63 100644 --- a/apps/plugins/clock/clock.c +++ b/apps/plugins/clock/clock.c @@ -54,7 +54,7 @@ const struct button_mapping* plugin_contexts[]={ #define ACTION_SKIN_PREV PLA_DEC #define ACTION_SKIN_PREV_REPEAT PLA_DEC_REPEAT -extern struct plugin_api* rb; +extern const struct plugin_api* rb; /************************** * Cleanup on plugin return @@ -109,7 +109,7 @@ void format_date(char* buffer, struct time* time, enum date_format format){ /********************************************************************** * Plugin starts here **********************************************************************/ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter){ +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter){ int button; int last_second = -1; bool redraw=true; diff --git a/apps/plugins/clock/clock.h b/apps/plugins/clock/clock.h index eeb04380a2..76822ec162 100644 --- a/apps/plugins/clock/clock.h +++ b/apps/plugins/clock/clock.h @@ -20,7 +20,7 @@ #ifndef _CLOCK_ #define _CLOCK_ #include "clock_settings.h" -extern struct plugin_api* rb; +extern const struct plugin_api* rb; struct time{ int year, day, month; diff --git a/apps/plugins/credits.c b/apps/plugins/credits.c index c0967c6235..dc19e0ebff 100644 --- a/apps/plugins/credits.c +++ b/apps/plugins/credits.c @@ -21,7 +21,7 @@ PLUGIN_HEADER -static struct plugin_api* rb; +static const struct plugin_api* rb; const char* const credits[] = { #include "credits.raw" /* generated list of names from docs/CREDITS */ @@ -367,7 +367,7 @@ void roll_credits(void) #endif -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { (void)parameter; rb = api; diff --git a/apps/plugins/cube.c b/apps/plugins/cube.c index aed27329ec..bc5564b473 100644 --- a/apps/plugins/cube.c +++ b/apps/plugins/cube.c @@ -425,7 +425,7 @@ static long matrice[3][3]; static const int nb_points = 8; static long z_off = 600; -static struct plugin_api* rb; +static const struct plugin_api* rb; static void cube_rotate(int xa, int ya, int za) { @@ -580,7 +580,7 @@ void cleanup(void *parameter) #endif } -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { char buffer[30]; int t_disp = 0; diff --git a/apps/plugins/demystify.c b/apps/plugins/demystify.c index 580783f18d..df92184b08 100644 --- a/apps/plugins/demystify.c +++ b/apps/plugins/demystify.c @@ -65,7 +65,7 @@ struct line_color /******************************* Globals ***********************************/ -static struct plugin_api* rb; /* global api struct pointer */ +static const struct plugin_api* rb; /* global api struct pointer */ /* * Compute a new random step to make the point bounce the borders of the screen @@ -424,7 +424,7 @@ int plugin_main(void) /*************************** Plugin entry point ****************************/ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int ret; diff --git a/apps/plugins/dice.c b/apps/plugins/dice.c index 7688d91a07..cde89e1144 100644 --- a/apps/plugins/dice.c +++ b/apps/plugins/dice.c @@ -44,7 +44,7 @@ struct dices #define PRINT_BUFFER_LENGTH MAX_DICES*4 PLUGIN_HEADER -static struct plugin_api* rb; +static const struct plugin_api* rb; static struct dices dice; static int sides_index; @@ -72,7 +72,7 @@ void dice_print(struct dices* dice, struct screen* display); bool dice_menu(struct dices* dice); /* plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) { +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { (void)parameter; rb = api; int i, action; diff --git a/apps/plugins/dict.c b/apps/plugins/dict.c index a149f0089a..26670f7aa4 100644 --- a/apps/plugins/dict.c +++ b/apps/plugins/dict.c @@ -22,7 +22,7 @@ PLUGIN_HEADER /* save the plugin api pointer. */ -static struct plugin_api* rb; +static const struct plugin_api* rb; /* screen info */ static int display_columns, display_lines; @@ -138,7 +138,7 @@ long reverse (long N) { #define DICT_DESC ROCKBOX_DIR "/rocks/apps/dict.desc" /* the main plugin function */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { char searchword[WORDLEN]; /* word to search for */ char *description; /* pointer to description buffer */ diff --git a/apps/plugins/disktidy.c b/apps/plugins/disktidy.c index dd75408d48..ed29206d6b 100644 --- a/apps/plugins/disktidy.c +++ b/apps/plugins/disktidy.c @@ -19,7 +19,7 @@ #include "plugin.h" PLUGIN_HEADER -static struct plugin_api* rb; +static const struct plugin_api* rb; /* function return values */ enum tidy_return @@ -412,7 +412,7 @@ int tidy_lcd_menu(void) } /* this is the plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { enum tidy_system system = TIDY_ALL; enum tidy_return status; diff --git a/apps/plugins/doom/rockdoom.c b/apps/plugins/doom/rockdoom.c index f23e856fdc..b36e677c49 100644 --- a/apps/plugins/doom/rockdoom.c +++ b/apps/plugins/doom/rockdoom.c @@ -99,7 +99,7 @@ int my_close(int id) return 0; } #endif -struct plugin_api* rb; +const struct plugin_api* rb; #define MAXARGVS 100 bool noprintf=0; // Variable disables printf lcd updates to protect grayscale lib/direct lcd updates @@ -675,7 +675,7 @@ int doom_menu() extern int systemvol; /* this is the plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { PLUGIN_IRAM_INIT(api) diff --git a/apps/plugins/doom/rockmacros.h b/apps/plugins/doom/rockmacros.h index 2ddbb94fcf..1611807b40 100644 --- a/apps/plugins/doom/rockmacros.h +++ b/apps/plugins/doom/rockmacros.h @@ -24,7 +24,7 @@ #include "autoconf.h" #include "z_zone.h" -extern struct plugin_api* rb; +extern const struct plugin_api* rb; extern bool noprintf; extern bool doomexit; diff --git a/apps/plugins/euroconverter.c b/apps/plugins/euroconverter.c index 224fb85703..fe45bef6c3 100644 --- a/apps/plugins/euroconverter.c +++ b/apps/plugins/euroconverter.c @@ -140,7 +140,7 @@ static unsigned char *abbrev_str[12] = { static unsigned long heuro,hhome; /*Handles for the new patterns*/ -static struct plugin_api* rb; +static const struct plugin_api* rb; static char *currency_str[12] = { "France", @@ -402,7 +402,7 @@ static void euro_exit(void *parameter) /* this is the plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { bool end, pos; longlong_t e,h,old_e,old_h; diff --git a/apps/plugins/fire.c b/apps/plugins/fire.c index c26822c8dc..2755436c7c 100644 --- a/apps/plugins/fire.c +++ b/apps/plugins/fire.c @@ -41,7 +41,7 @@ PLUGIN_HEADER -static struct plugin_api* rb; /* global api struct pointer */ +static const struct plugin_api* rb; /* global api struct pointer */ #ifndef HAVE_LCD_COLOR GREY_INFO_STRUCT @@ -344,7 +344,7 @@ int main(void) /*************************** Plugin entry point ****************************/ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int ret; diff --git a/apps/plugins/fireworks.c b/apps/plugins/fireworks.c index 361930f1c8..d06cbdf912 100644 --- a/apps/plugins/fireworks.c +++ b/apps/plugins/fireworks.c @@ -22,7 +22,7 @@ PLUGIN_HEADER -static struct plugin_api* rb; +static const struct plugin_api* rb; /*** * FIREWORKS.C by ZAKK ROBERTS @@ -385,7 +385,7 @@ void fireworks_menu(void) } /* this is the plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { (void)parameter; diff --git a/apps/plugins/firmware_flash.c b/apps/plugins/firmware_flash.c index f4daab2fcd..6cbb252cd1 100644 --- a/apps/plugins/firmware_flash.c +++ b/apps/plugins/firmware_flash.c @@ -126,7 +126,7 @@ typedef struct char name[32]; } tFlashInfo; -static struct plugin_api* rb; /* here is a global api struct pointer */ +static const struct plugin_api* rb; /* here is a global api struct pointer */ #define MASK_ADR 0xFC /* position of hardware mask value in Flash */ #define VERSION_ADR 0xFE /* position of firmware version value in Flash */ @@ -1072,7 +1072,7 @@ void DoUserDialog(char* filename) /***************** Plugin Entry Point *****************/ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int oldmode; diff --git a/apps/plugins/flipit.c b/apps/plugins/flipit.c index 874ddf41f7..7e865b0ea8 100644 --- a/apps/plugins/flipit.c +++ b/apps/plugins/flipit.c @@ -244,7 +244,7 @@ PLUGIN_HEADER #endif #endif -static struct plugin_api* rb; +static const struct plugin_api* rb; static int spots[20]; static int toggle[20]; static int cursor_pos, moves; @@ -591,7 +591,7 @@ static bool flipit_loop(void) } /* called function from outside */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int i, rc; diff --git a/apps/plugins/greyscale.c b/apps/plugins/greyscale.c index 17449b9f62..cffa8f1940 100644 --- a/apps/plugins/greyscale.c +++ b/apps/plugins/greyscale.c @@ -102,7 +102,7 @@ PLUGIN_HEADER /******************************* Globals ***********************************/ GREY_INFO_STRUCT -static struct plugin_api* rb; /* global api struct pointer */ +static const struct plugin_api* rb; /* global api struct pointer */ static char pbuf[32]; /* global printf buffer */ static unsigned char *gbuf; static size_t gbuf_size = 0; @@ -361,7 +361,7 @@ int main(void) /*************************** Plugin entry point ****************************/ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { rb = api; /* copy to global api pointer */ (void)parameter; diff --git a/apps/plugins/helloworld.c b/apps/plugins/helloworld.c index eca9d2e85a..ebad484d9c 100644 --- a/apps/plugins/helloworld.c +++ b/apps/plugins/helloworld.c @@ -27,10 +27,10 @@ PLUGIN_HEADER /* here is a global api struct pointer. while not strictly necessary, it's nice not to have to pass the api pointer in all function calls in the plugin */ -static struct plugin_api* rb; +static const struct plugin_api* rb; /* this is the plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { /* if you don't use the parameter, you can do like this to avoid the compiler warning about it */ diff --git a/apps/plugins/invadrox.c b/apps/plugins/invadrox.c index 946e36d05a..1294ed35c3 100644 --- a/apps/plugins/invadrox.c +++ b/apps/plugins/invadrox.c @@ -595,7 +595,7 @@ unsigned char fire_sprite[FIRE_HEIGHT] = { #define CYCLETIME 40 -static struct plugin_api* rb; +static const struct plugin_api* rb; /* Physical x is at PLAYFIELD_X + LIVES_X + x * ALIEN_SPEED * Physical y is at y * ALIEN_HEIGHT @@ -1785,7 +1785,7 @@ void game_loop(void) /* this is the plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, UNUSED void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, UNUSED const void* parameter) { rb = api; diff --git a/apps/plugins/iriver_flash.c b/apps/plugins/iriver_flash.c index d9ea73b622..af002acb2f 100644 --- a/apps/plugins/iriver_flash.c +++ b/apps/plugins/iriver_flash.c @@ -54,7 +54,7 @@ struct flash_info char name[32]; }; -static struct plugin_api* rb; /* here is a global api struct pointer */ +static const struct plugin_api* rb; /* here is a global api struct pointer */ #ifdef IRIVER_H100_SERIES #define SEC_SIZE 4096 @@ -802,7 +802,7 @@ void DoUserDialog(char* filename) /***************** Plugin Entry Point *****************/ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int oldmode; diff --git a/apps/plugins/iriverify.c b/apps/plugins/iriverify.c index b578cf7e0c..abff78266d 100644 --- a/apps/plugins/iriverify.c +++ b/apps/plugins/iriverify.c @@ -25,7 +25,7 @@ PLUGIN_HEADER -static struct plugin_api* rb; +static const struct plugin_api* rb; ssize_t buf_size; static char *filename; @@ -130,7 +130,7 @@ static int write_file(void) return 0; } -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { char *buf; int rc; diff --git a/apps/plugins/jackpot.c b/apps/plugins/jackpot.c index de99eae2a9..5950551b44 100644 --- a/apps/plugins/jackpot.c +++ b/apps/plugins/jackpot.c @@ -69,7 +69,7 @@ const struct picture jackpot_pictures[]={ #define SLEEP_TIME (HZ/200) #endif /* HAVE_LCD_CHARCELLS */ -static struct plugin_api* rb; +static const struct plugin_api* rb; struct jackpot { @@ -290,7 +290,7 @@ void jackpot_play_turn(struct jackpot* game) jackpot_print_turn_result(game, gain, rb->screens[d]); } -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { rb = api; int action, i; diff --git a/apps/plugins/jewels.c b/apps/plugins/jewels.c index ddd659d2a1..7eec89eaa3 100644 --- a/apps/plugins/jewels.c +++ b/apps/plugins/jewels.c @@ -339,7 +339,7 @@ struct jewels_menu { }; /* global rockbox api */ -static struct plugin_api* rb; +static const struct plugin_api* rb; /* external bitmaps */ extern const fb_data jewels[]; @@ -1898,7 +1898,7 @@ static int jewels_main(struct game_context* bj) { /***************************************************************************** * plugin entry point. ******************************************************************************/ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) { +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { struct game_context bj; bool exit = false; int position; diff --git a/apps/plugins/jpeg.c b/apps/plugins/jpeg.c index e95c10bbfa..a05eaa72dc 100644 --- a/apps/plugins/jpeg.c +++ b/apps/plugins/jpeg.c @@ -279,7 +279,7 @@ GREY_INFO_STRUCT /******************************* Globals ***********************************/ -static struct plugin_api* rb; +static const struct plugin_api* rb; MEM_FUNCTION_WRAPPERS(rb); /* for portability of below JPEG code */ @@ -3318,7 +3318,7 @@ int load_and_show(char* filename) /******************** Plugin entry point *********************/ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { rb = api; diff --git a/apps/plugins/lamp.c b/apps/plugins/lamp.c index 943cc97fce..2f91545edc 100644 --- a/apps/plugins/lamp.c +++ b/apps/plugins/lamp.c @@ -92,7 +92,7 @@ PLUGIN_HEADER # endif #endif -static struct plugin_api* rb; /* global api struct pointer */ +static const struct plugin_api* rb; /* global api struct pointer */ #ifdef HAVE_LCD_COLOR /* RGB color sets */ @@ -102,7 +102,7 @@ static int colorset[NUM_COLORSETS][3] = { { 255, 255, 255 } , /* white */ #endif /* HAVE_LCD_COLOR */ /* this is the plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { (void)parameter; rb = api; diff --git a/apps/plugins/lib/bmp.c b/apps/plugins/lib/bmp.c index 20adc6de86..c46093a8d9 100644 --- a/apps/plugins/lib/bmp.c +++ b/apps/plugins/lib/bmp.c @@ -30,7 +30,7 @@ /** * Save to 24 bit bitmap. */ -int save_bmp_file( char* filename, struct bitmap *bm, struct plugin_api* rb ) +int save_bmp_file( char* filename, struct bitmap *bm, const struct plugin_api* rb ) { /* I'm not really sure about this one :) */ int line_width = bm->width*3+((bm->width*3)%4?4-((bm->width*3)%4):0); diff --git a/apps/plugins/lib/bmp.h b/apps/plugins/lib/bmp.h index 10f71865f7..9114df1ee5 100644 --- a/apps/plugins/lib/bmp.h +++ b/apps/plugins/lib/bmp.h @@ -26,7 +26,7 @@ /** * Save bitmap to file */ -int save_bmp_file( char* filename, struct bitmap *bm, struct plugin_api* rb ); +int save_bmp_file( char* filename, struct bitmap *bm, const struct plugin_api* rb ); #endif /** diff --git a/apps/plugins/lib/checkbox.c b/apps/plugins/lib/checkbox.c index 5acc52a728..039d5f9cbf 100644 --- a/apps/plugins/lib/checkbox.c +++ b/apps/plugins/lib/checkbox.c @@ -25,7 +25,7 @@ /* * Print a checkbox */ -void checkbox(struct plugin_api *api, int x, int y, int width, int height, bool checked) +void checkbox(const struct plugin_api *api, int x, int y, int width, int height, bool checked) { /* draw box */ api->lcd_drawrect(x, y, width, height); diff --git a/apps/plugins/lib/checkbox.h b/apps/plugins/lib/checkbox.h index 2a5ffea0aa..72de4952ca 100644 --- a/apps/plugins/lib/checkbox.h +++ b/apps/plugins/lib/checkbox.h @@ -24,6 +24,6 @@ /* * Print a checkbox */ -void checkbox(struct plugin_api *api, int x, int y, int width, int height, bool checked); +void checkbox(const struct plugin_api *api, int x, int y, int width, int height, bool checked); #endif diff --git a/apps/plugins/lib/configfile.c b/apps/plugins/lib/configfile.c index b0d134fae9..516bf616cb 100644 --- a/apps/plugins/lib/configfile.c +++ b/apps/plugins/lib/configfile.c @@ -19,9 +19,9 @@ #include "plugin.h" #include "configfile.h" -static struct plugin_api *cfg_rb; +static const struct plugin_api *cfg_rb; -void configfile_init(struct plugin_api* newrb) +void configfile_init(const struct plugin_api* newrb) { cfg_rb = newrb; } diff --git a/apps/plugins/lib/configfile.h b/apps/plugins/lib/configfile.h index 7aa69f3ecf..fe4b43c485 100644 --- a/apps/plugins/lib/configfile.h +++ b/apps/plugins/lib/configfile.h @@ -37,7 +37,7 @@ struct configdata NULL otherwise */ }; -void configfile_init(struct plugin_api* newrb); +void configfile_init(const struct plugin_api* newrb); /* configfile_save - Given configdata entries this function will create a config file with these entries, destroying any diff --git a/apps/plugins/lib/grey.h b/apps/plugins/lib/grey.h index 81912b1995..4a15bd38ea 100644 --- a/apps/plugins/lib/grey.h +++ b/apps/plugins/lib/grey.h @@ -50,7 +50,7 @@ #define GREY_ON_COP 0x0004 /* Run ISR on COP (PP targets) */ /* Library initialisation and release */ -bool grey_init(struct plugin_api* newrb, unsigned char *gbuf, long gbuf_size, +bool grey_init(const struct plugin_api* newrb, unsigned char *gbuf, long gbuf_size, unsigned features, int width, int height, long *buf_taken); void grey_release(void); @@ -168,16 +168,16 @@ struct _grey_info int by; /* 4-pixel or 8-pixel units */ int bheight; /* 4-pixel or 8-pixel units */ #endif - unsigned long flags; /* various flags, see #defines */ - struct plugin_api *rb; /* plugin API pointer */ - unsigned char *values; /* start of greyscale pixel values */ - unsigned char *phases; /* start of greyscale pixel phases */ - unsigned char *buffer; /* start of chunky pixel buffer (for buffered mode) */ - unsigned char gvalue[256]; /* calculated brightness -> greyvalue table */ - int fg_brightness; /* current foreground brightness */ - int bg_brightness; /* current background brightness */ - int drawmode; /* current draw mode */ - int curfont; /* current selected font */ + unsigned long flags; /* various flags, see #defines */ + const struct plugin_api *rb; /* plugin API pointer */ + unsigned char *values; /* start of greyscale pixel values */ + unsigned char *phases; /* start of greyscale pixel phases */ + unsigned char *buffer; /* start of chunky pixel buffer (for buffered mode) */ + unsigned char gvalue[256]; /* calculated brightness -> greyvalue table */ + int fg_brightness; /* current foreground brightness */ + int bg_brightness; /* current background brightness */ + int drawmode; /* current draw mode */ + int curfont; /* current selected font */ }; /* Global variable, defined in the plugin */ diff --git a/apps/plugins/lib/grey_core.c b/apps/plugins/lib/grey_core.c index e2260cdf11..e7f02dd6cb 100644 --- a/apps/plugins/lib/grey_core.c +++ b/apps/plugins/lib/grey_core.c @@ -478,7 +478,7 @@ static void fill_gvalues(void) The function is authentic regarding memory usage on the simulator, even if it doesn't use all of the allocated memory. */ -bool grey_init(struct plugin_api* newrb, unsigned char *gbuf, long gbuf_size, +bool grey_init(const struct plugin_api* newrb, unsigned char *gbuf, long gbuf_size, unsigned features, int width, int height, long *buf_taken) { int bdim, i; diff --git a/apps/plugins/lib/helper.c b/apps/plugins/lib/helper.c index 8ac822b407..691a17f15c 100644 --- a/apps/plugins/lib/helper.c +++ b/apps/plugins/lib/helper.c @@ -21,7 +21,7 @@ #include "helper.h" /* Force the backlight on */ -void backlight_force_on(struct plugin_api* rb) +void backlight_force_on(const struct plugin_api* rb) { if(!rb) return; @@ -34,7 +34,7 @@ void backlight_force_on(struct plugin_api* rb) } /* Reset backlight operation to its settings */ -void backlight_use_settings(struct plugin_api* rb) +void backlight_use_settings(const struct plugin_api* rb) { if (!rb) return; @@ -47,7 +47,7 @@ void backlight_use_settings(struct plugin_api* rb) #ifdef HAVE_REMOTE_LCD /* Force the backlight on */ -void remote_backlight_force_on(struct plugin_api* rb) +void remote_backlight_force_on(const struct plugin_api* rb) { if (!rb) return; @@ -60,7 +60,7 @@ void remote_backlight_force_on(struct plugin_api* rb) } /* Reset backlight operation to its settings */ -void remote_backlight_use_settings(struct plugin_api* rb) +void remote_backlight_use_settings(const struct plugin_api* rb) { if (!rb) return; @@ -75,7 +75,7 @@ void remote_backlight_use_settings(struct plugin_api* rb) #ifdef HAVE_BUTTON_LIGHT /* Force the buttonlight on */ -void buttonlight_force_on(struct plugin_api* rb) +void buttonlight_force_on(const struct plugin_api* rb) { if (!rb) return; @@ -84,7 +84,7 @@ void buttonlight_force_on(struct plugin_api* rb) } /* Reset buttonlight operation to its settings */ -void buttonlight_use_settings(struct plugin_api* rb) +void buttonlight_use_settings(const struct plugin_api* rb) { if (!rb) return; diff --git a/apps/plugins/lib/helper.h b/apps/plugins/lib/helper.h index 4d1328bd0c..d34e6334f0 100644 --- a/apps/plugins/lib/helper.h +++ b/apps/plugins/lib/helper.h @@ -24,14 +24,14 @@ /** * Backlight on/off operations */ -void backlight_force_on(struct plugin_api* rb); -void backlight_use_settings(struct plugin_api* rb); +void backlight_force_on(const struct plugin_api* rb); +void backlight_use_settings(const struct plugin_api* rb); #ifdef HAVE_REMOTE_LCD -void remote_backlight_force_on(struct plugin_api* rb); -void remote_backlight_use_settings(struct plugin_api* rb); +void remote_backlight_force_on(const struct plugin_api* rb); +void remote_backlight_use_settings(const struct plugin_api* rb); #endif #ifdef HAVE_BUTTON_LIGHT -void buttonlight_force_on(struct plugin_api* rb); -void buttonlight_use_settings(struct plugin_api* rb); +void buttonlight_force_on(const struct plugin_api* rb); +void buttonlight_use_settings(const struct plugin_api* rb); #endif #endif diff --git a/apps/plugins/lib/highscore.c b/apps/plugins/lib/highscore.c index df7a71bcdf..94b6a7b947 100644 --- a/apps/plugins/lib/highscore.c +++ b/apps/plugins/lib/highscore.c @@ -19,9 +19,9 @@ #include "plugin.h" #include "highscore.h" -static struct plugin_api *rb; +static const struct plugin_api *rb; -void highscore_init(struct plugin_api* newrb) +void highscore_init(const struct plugin_api* newrb) { rb = newrb; } diff --git a/apps/plugins/lib/highscore.h b/apps/plugins/lib/highscore.h index ba7da241f1..b6501cf568 100644 --- a/apps/plugins/lib/highscore.h +++ b/apps/plugins/lib/highscore.h @@ -26,7 +26,7 @@ struct highscore int level; }; -void highscore_init(struct plugin_api* newrb); +void highscore_init(const struct plugin_api* newrb); int highscore_save(char *filename, struct highscore *scores, int num_scores); int highscore_load(char *filename, struct highscore *scores, int num_scores); int highscore_update(int score, int level, struct highscore *scores, int num_scores); diff --git a/apps/plugins/lib/oldmenuapi.c b/apps/plugins/lib/oldmenuapi.c index 27e4fdd49e..51fb4f3eb2 100644 --- a/apps/plugins/lib/oldmenuapi.c +++ b/apps/plugins/lib/oldmenuapi.c @@ -27,7 +27,7 @@ #include "plugin.h" #include "oldmenuapi.h" -struct plugin_api *rb = NULL; +const struct plugin_api *rb = NULL; struct menu { struct menu_item* items; @@ -65,7 +65,7 @@ static int menu_find_free(void) return(i); } -int menu_init(struct plugin_api *api, const struct menu_item* mitems, +int menu_init(const struct plugin_api *api, const struct menu_item* mitems, int count, int (*callback)(int, int), const char *button1, const char *button2, const char *button3) { diff --git a/apps/plugins/lib/oldmenuapi.h b/apps/plugins/lib/oldmenuapi.h index 34f6226d59..ccfd1400dd 100644 --- a/apps/plugins/lib/oldmenuapi.h +++ b/apps/plugins/lib/oldmenuapi.h @@ -31,7 +31,7 @@ struct menu_item { bool (*function) (void); /* return true if USB was connected */ }; -int menu_init(struct plugin_api *api, const struct menu_item* mitems, +int menu_init(const struct plugin_api *api, const struct menu_item* mitems, int count, int (*callback)(int, int), const char *button1, const char *button2, const char *button3); void menu_exit(int menu); diff --git a/apps/plugins/lib/overlay.c b/apps/plugins/lib/overlay.c index 53cc4a84f0..63fb776f02 100644 --- a/apps/plugins/lib/overlay.c +++ b/apps/plugins/lib/overlay.c @@ -44,7 +44,7 @@ The linker script for the overlay should use a base address towards the end of the audiobuffer, just low enough to make the overlay fit. */ -enum plugin_status run_overlay(struct plugin_api* rb, void* parameter, +enum plugin_status run_overlay(const struct plugin_api* rb, const void* parameter, unsigned char *filename, unsigned char *name) { int fd, readsize; diff --git a/apps/plugins/lib/overlay.h b/apps/plugins/lib/overlay.h index bbf7549274..ba9b1fa308 100644 --- a/apps/plugins/lib/overlay.h +++ b/apps/plugins/lib/overlay.h @@ -26,7 +26,7 @@ #include "plugin.h" /* load and run a plugin linked as an overlay. */ -enum plugin_status run_overlay(struct plugin_api* api, void* parameter, +enum plugin_status run_overlay(const struct plugin_api* api, const void* parameter, unsigned char *filename, unsigned char *name); #endif /* !SIMULATOR */ diff --git a/apps/plugins/lib/playback_control.c b/apps/plugins/lib/playback_control.c index 7e74728ab4..b0456248a8 100644 --- a/apps/plugins/lib/playback_control.c +++ b/apps/plugins/lib/playback_control.c @@ -20,7 +20,7 @@ #include "plugin.h" #include "playback_control.h" -struct plugin_api* api = 0; +const struct plugin_api* api = 0; struct viewport *parentvp = NULL; static bool prevtrack(void) @@ -105,14 +105,14 @@ MAKE_MENU(playback_control_menu, "Playback Control", NULL, Icon_NOICON, &prevtrack_item, &playpause_item, &stop_item, &nexttrack_item, &volume_item, &shuffle_item, &repeat_mode_item); -void playback_control_init(struct plugin_api* newapi, +void playback_control_init(const struct plugin_api* newapi, struct viewport parent[NB_SCREENS]) { api = newapi; parentvp = parent; } -bool playback_control(struct plugin_api* newapi, +bool playback_control(const struct plugin_api* newapi, struct viewport parent[NB_SCREENS]) { api = newapi; diff --git a/apps/plugins/lib/playback_control.h b/apps/plugins/lib/playback_control.h index a3a0d7afbc..23b586095e 100644 --- a/apps/plugins/lib/playback_control.h +++ b/apps/plugins/lib/playback_control.h @@ -25,11 +25,11 @@ So, make sure you use the same viewport for the rb->do_menu() call that you use in the playback_control_init() call */ -void playback_control_init(struct plugin_api* newapi, +void playback_control_init(const struct plugin_api* newapi, struct viewport parent[NB_SCREENS]); /* Use this if your menu still uses the old menu api */ -bool playback_control(struct plugin_api* api, +bool playback_control(const struct plugin_api* api, struct viewport parent[NB_SCREENS]); #endif /* __PLAYBACK_CONTROL_H__ */ diff --git a/apps/plugins/lib/playergfx.c b/apps/plugins/lib/playergfx.c index 8853078fa1..4139a6c605 100644 --- a/apps/plugins/lib/playergfx.c +++ b/apps/plugins/lib/playergfx.c @@ -26,7 +26,7 @@ /*** globals ***/ -static struct plugin_api *pgfx_rb = NULL; /* global api struct pointer */ +static const struct plugin_api *pgfx_rb = NULL; /* global api struct pointer */ static int char_width; static int char_height; static int pixel_height; @@ -38,7 +38,7 @@ static int drawmode = DRMODE_SOLID; /*** Special functions ***/ /* library init */ -bool pgfx_init(struct plugin_api* newrb, int cwidth, int cheight) +bool pgfx_init(const struct plugin_api* newrb, int cwidth, int cheight) { int i; diff --git a/apps/plugins/lib/playergfx.h b/apps/plugins/lib/playergfx.h index 5f49831609..504599ae39 100644 --- a/apps/plugins/lib/playergfx.h +++ b/apps/plugins/lib/playergfx.h @@ -26,7 +26,7 @@ #ifdef HAVE_LCD_CHARCELLS /* Player only :) */ -bool pgfx_init(struct plugin_api* newrb, int cwidth, int cheight); +bool pgfx_init(const struct plugin_api* newrb, int cwidth, int cheight); void pgfx_release(void); void pgfx_display(int cx, int cy); void pgfx_display_block(int cx, int cy, int x, int y); diff --git a/apps/plugins/lib/pluginlib_actions.c b/apps/plugins/lib/pluginlib_actions.c index be78bf1408..a63ffb352a 100644 --- a/apps/plugins/lib/pluginlib_actions.c +++ b/apps/plugins/lib/pluginlib_actions.c @@ -464,7 +464,7 @@ static const struct button_mapping* get_context_map(int context) else return NULL; } -int pluginlib_getaction(struct plugin_api *api,int timeout, +int pluginlib_getaction(const struct plugin_api *api,int timeout, const struct button_mapping *plugin_contexts[], int count) { diff --git a/apps/plugins/lib/pluginlib_actions.h b/apps/plugins/lib/pluginlib_actions.h index c11a087904..601cd73a8c 100644 --- a/apps/plugins/lib/pluginlib_actions.h +++ b/apps/plugins/lib/pluginlib_actions.h @@ -58,7 +58,7 @@ extern const struct button_mapping generic_left_right_fire[]; extern const struct button_mapping generic_actions[]; extern const struct button_mapping generic_increase_decrease[]; -int pluginlib_getaction(struct plugin_api *api,int timeout, +int pluginlib_getaction(const struct plugin_api *api,int timeout, const struct button_mapping *plugin_contexts[], int count); diff --git a/apps/plugins/lib/profile_plugin.c b/apps/plugins/lib/profile_plugin.c index 38c6d81598..6f31288c8f 100644 --- a/apps/plugins/lib/profile_plugin.c +++ b/apps/plugins/lib/profile_plugin.c @@ -21,9 +21,9 @@ #include "plugin.h" -static struct plugin_api *local_rb = NULL; /* global api struct pointer */ +static const struct plugin_api *local_rb = NULL; /* global api struct pointer */ -void profile_init(struct plugin_api* pa) +void profile_init(const struct plugin_api* pa) { local_rb = pa; } diff --git a/apps/plugins/lib/profile_plugin.h b/apps/plugins/lib/profile_plugin.h index 71cff37033..6bc19734d8 100644 --- a/apps/plugins/lib/profile_plugin.h +++ b/apps/plugins/lib/profile_plugin.h @@ -24,7 +24,7 @@ #include "plugin.h" -void profile_init(struct plugin_api* pa); +void profile_init(const struct plugin_api* pa); void __cyg_profile_func_enter(void *this_fn, void *call_site) NO_PROF_ATTR ICODE_ATTR; diff --git a/apps/plugins/lib/xlcd.h b/apps/plugins/lib/xlcd.h index 59a048228b..a1e2389f39 100644 --- a/apps/plugins/lib/xlcd.h +++ b/apps/plugins/lib/xlcd.h @@ -26,7 +26,7 @@ #ifdef HAVE_LCD_BITMAP -void xlcd_init(struct plugin_api* newrb); +void xlcd_init(const struct plugin_api* newrb); void xlcd_filltriangle(int x1, int y1, int x2, int y2, int x3, int y3); void xlcd_filltriangle_screen(struct screen* display, int x1, int y1, int x2, int y2, int x3, int y3); @@ -49,7 +49,7 @@ void xlcd_scroll_up(int count); void xlcd_scroll_down(int count); /* internal stuff */ -extern struct plugin_api *_xlcd_rb; /* global api struct pointer */ +extern const struct plugin_api *_xlcd_rb; /* global api struct pointer */ #endif /* HAVE_LCD_BITMAP */ #endif /* __XLCD_H__ */ diff --git a/apps/plugins/lib/xlcd_core.c b/apps/plugins/lib/xlcd_core.c index e8cc688591..7f8e566865 100644 --- a/apps/plugins/lib/xlcd_core.c +++ b/apps/plugins/lib/xlcd_core.c @@ -27,12 +27,12 @@ /*** globals ***/ -struct plugin_api *_xlcd_rb = NULL; /* global api struct pointer */ +const struct plugin_api *_xlcd_rb = NULL; /* global api struct pointer */ /*** functions ***/ /* library init */ -void xlcd_init(struct plugin_api* newrb) +void xlcd_init(const struct plugin_api* newrb) { _xlcd_rb = newrb; } diff --git a/apps/plugins/logo.c b/apps/plugins/logo.c index f08ca3a62a..79ff6acb62 100644 --- a/apps/plugins/logo.c +++ b/apps/plugins/logo.c @@ -176,12 +176,12 @@ const unsigned char rockbox16x7[] = { #endif #endif -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) { +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int button; int timer = 10; int x = (DISPLAY_WIDTH / 2) - (LOGO_WIDTH / 2); int y = (DISPLAY_HEIGHT / 2) - (LOGO_HEIGHT / 2); - struct plugin_api* rb = api; + const struct plugin_api* rb = api; int dx; int dy; #ifdef HAVE_LCD_CHARCELLS diff --git a/apps/plugins/mandelbrot.c b/apps/plugins/mandelbrot.c index 1576b875dd..8b045e74de 100644 --- a/apps/plugins/mandelbrot.c +++ b/apps/plugins/mandelbrot.c @@ -273,7 +273,7 @@ PLUGIN_HEADER #define MYXLCD(fn) xlcd_ ## fn #endif -static struct plugin_api* rb; +static const struct plugin_api* rb; /* Fixed point format s5.26: sign, 5 bits integer part, 26 bits fractional part */ static long x_min; @@ -661,7 +661,7 @@ void cleanup(void *parameter) #define REDRAW_PARTIAL 1 #define REDRAW_FULL 2 -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int button; int lastbutton = BUTTON_NONE; diff --git a/apps/plugins/matrix.c b/apps/plugins/matrix.c index 33509dc69a..65a4a6b785 100644 --- a/apps/plugins/matrix.c +++ b/apps/plugins/matrix.c @@ -119,7 +119,7 @@ extern const fb_data matrix_normal[]; #define SLEEP HZ/50 /* Codec api pointer */ -static struct plugin_api* rb; +static const struct plugin_api* rb; /* Each position is of this type */ typedef struct cmatrix { @@ -284,7 +284,7 @@ static void matrix_loop(void) } } -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) { +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int button; int sleep = SLEEP; bool frozen = false; diff --git a/apps/plugins/maze.c b/apps/plugins/maze.c index cebdc46cff..f18dd68eb6 100644 --- a/apps/plugins/maze.c +++ b/apps/plugins/maze.c @@ -79,7 +79,7 @@ PLUGIN_HEADER #define BORDER_W 0x00000080 #define PATH 0x00000100 -static struct plugin_api* rb; +static const struct plugin_api* rb; #ifdef __PLUGINLIB_ACTIONS_H__ const struct button_mapping *plugin_contexts[] @@ -470,7 +470,7 @@ void maze_move_player_right(struct maze* maze) /**********************************/ /* this is the plugin entry point */ /**********************************/ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int button, lastbutton = BUTTON_NONE; int quit = 0; diff --git a/apps/plugins/mazezam.c b/apps/plugins/mazezam.c index 2ee6e20059..93d9ec4c9a 100644 --- a/apps/plugins/mazezam.c +++ b/apps/plugins/mazezam.c @@ -26,7 +26,7 @@ /* Include standard plugin macro */ PLUGIN_HEADER -static struct plugin_api* rb; +static const struct plugin_api* rb; /* The plugin actions of interest. */ const struct button_mapping *plugin_contexts[] @@ -916,7 +916,7 @@ static void main_menu(void) /***************************************************************************** * Plugin entry point ******************************************************************************/ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { enum plugin_status plugin_state; diff --git a/apps/plugins/metronome.c b/apps/plugins/metronome.c index a778429195..85b1260a86 100644 --- a/apps/plugins/metronome.c +++ b/apps/plugins/metronome.c @@ -78,7 +78,7 @@ const struct button_mapping *plugin_contexts[]={ }; #define PLA_ARRAY_COUNT sizeof(plugin_contexts)/sizeof(plugin_contexts[0]) -static struct plugin_api* rb; +static const struct plugin_api* rb; MEM_FUNCTION_WRAPPERS(rb); @@ -299,7 +299,7 @@ void tap(void) reset_tap = false; } -enum plugin_status plugin_start(struct plugin_api* api, void* parameter){ +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter){ int button; enum plugin_status status; diff --git a/apps/plugins/midi/midifile.c b/apps/plugins/midi/midifile.c index 5f98e895a2..6411b8e658 100644 --- a/apps/plugins/midi/midifile.c +++ b/apps/plugins/midi/midifile.c @@ -26,7 +26,7 @@ int readID(int file); struct MIDIfile midi_file IBSS_ATTR; -struct MIDIfile * loadFile(char * filename) +struct MIDIfile * loadFile(const char * filename) { struct MIDIfile * mfload; int file = rb->open (filename, O_RDONLY); diff --git a/apps/plugins/midi/midifile.h b/apps/plugins/midi/midifile.h index a1024d500b..25ab2f5b19 100644 --- a/apps/plugins/midi/midifile.h +++ b/apps/plugins/midi/midifile.h @@ -17,5 +17,5 @@ * ****************************************************************************/ -struct MIDIfile * loadFile(char * filename); +struct MIDIfile * loadFile(const char * filename); diff --git a/apps/plugins/midi/midiplay.c b/apps/plugins/midi/midiplay.c index e97d7acf1c..69be53e75d 100644 --- a/apps/plugins/midi/midiplay.c +++ b/apps/plugins/midi/midiplay.c @@ -191,11 +191,11 @@ int32_t gmbuf[BUF_SIZE*NBUF]; static unsigned int samples_in_buf; int quit=0; -struct plugin_api * rb; +const struct plugin_api * rb; -static int midimain(void * filename); +static int midimain(const void * filename); -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int retval = 0; @@ -292,7 +292,7 @@ void get_more(unsigned char** start, size_t* size) #endif } -static int midimain(void * filename) +static int midimain(const void * filename) { int notesUsed = 0; int a=0; diff --git a/apps/plugins/midi2wav.c b/apps/plugins/midi2wav.c index ad41451d88..6e4e7d1bc1 100644 --- a/apps/plugins/midi2wav.c +++ b/apps/plugins/midi2wav.c @@ -54,20 +54,14 @@ long bpm; #include "midi/synth.c" - - int fd=-1; /* File descriptor where the output is written */ extern long tempo; /* The sequencer keeps track of this */ - -struct plugin_api * rb; - - - +const struct plugin_api * rb; -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { (void)parameter; rb = api; diff --git a/apps/plugins/minesweeper.c b/apps/plugins/minesweeper.c index e4b8c939b4..7b1587ce6f 100644 --- a/apps/plugins/minesweeper.c +++ b/apps/plugins/minesweeper.c @@ -221,7 +221,7 @@ enum minesweeper_status { * it's nice not to have to pass the api pointer in all function calls * in the plugin */ -static struct plugin_api *rb; +static const struct plugin_api *rb; extern const fb_data minesweeper_tiles[]; @@ -731,7 +731,7 @@ enum minesweeper_status minesweeper( void ) } /* plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { bool exit = false; diff --git a/apps/plugins/mosaique.c b/apps/plugins/mosaique.c index 9545f89f59..4d7b0af795 100644 --- a/apps/plugins/mosaique.c +++ b/apps/plugins/mosaique.c @@ -141,7 +141,7 @@ PLUGIN_HEADER #endif #endif -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int button; int timer = 10; @@ -149,7 +149,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) int y=0; int sx = 3; int sy = 3; - struct plugin_api* rb = api; + const struct plugin_api* rb = api; (void)parameter; #ifdef HAVE_LCD_CHARCELLS diff --git a/apps/plugins/mp3_encoder.c b/apps/plugins/mp3_encoder.c index a344bdc7dc..db9c9d4e67 100644 --- a/apps/plugins/mp3_encoder.c +++ b/apps/plugins/mp3_encoder.c @@ -16,7 +16,7 @@ PLUGIN_HEADER PLUGIN_IRAM_DECLARE -static struct plugin_api* rb; +static const struct plugin_api* rb; MEM_FUNCTION_WRAPPERS(rb); @@ -806,7 +806,7 @@ static const int win_const[18][4] = { { 134, -146,-3352,-3072 } }; -static char* wav_filename; +static const char* wav_filename; static int mp3file, wavfile, wav_size, frames; static uint32 enc_buffer[16384]; /* storage for 65536 Bytes */ static int enc_chunk = 0; /* encode chunk counter */ @@ -2278,7 +2278,7 @@ void compress(void) int num_file; char mp3_name[80]; -void get_mp3_filename(char *wav_name) +void get_mp3_filename(const char *wav_name) { int slen = rb->strlen(wav_name); rb->strncpy(mp3_name, wav_name, 79); @@ -2353,7 +2353,7 @@ void get_mp3_filename(char *wav_name) #endif #endif -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int rat, srat, nrat; /* for rate selection */ int cont = 1, butt; diff --git a/apps/plugins/mpegplayer/decode.c b/apps/plugins/mpegplayer/decode.c index ab3a800d9b..1c85fa7a92 100644 --- a/apps/plugins/mpegplayer/decode.c +++ b/apps/plugins/mpegplayer/decode.c @@ -25,7 +25,7 @@ #include "mpeg2dec_config.h" -extern struct plugin_api* rb; +extern const struct plugin_api* rb; #include "mpeg2.h" #include "attributes.h" diff --git a/apps/plugins/mpegplayer/header.c b/apps/plugins/mpegplayer/header.c index 3dd3d280dd..d8d005b692 100644 --- a/apps/plugins/mpegplayer/header.c +++ b/apps/plugins/mpegplayer/header.c @@ -26,7 +26,7 @@ #include "mpeg2dec_config.h" -extern struct plugin_api* rb; +extern const struct plugin_api* rb; #include "mpeg2.h" #include "attributes.h" diff --git a/apps/plugins/mpegplayer/mpegplayer.c b/apps/plugins/mpegplayer/mpegplayer.c index 8e46b24eee..82703ca840 100644 --- a/apps/plugins/mpegplayer/mpegplayer.c +++ b/apps/plugins/mpegplayer/mpegplayer.c @@ -257,7 +257,7 @@ PLUGIN_IRAM_DECLARE #endif #endif -struct plugin_api* rb; +const struct plugin_api* rb; CACHE_FUNCTION_WRAPPERS(rb); ALIGN_BUFFER_WRAPPER(rb); @@ -1544,7 +1544,7 @@ static void button_loop(void) backlight_use_settings(rb); } -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int status = PLUGIN_ERROR; /* assume failure */ int result; diff --git a/apps/plugins/mpegplayer/mpegplayer.h b/apps/plugins/mpegplayer/mpegplayer.h index b92af38e6c..fa13a1e378 100644 --- a/apps/plugins/mpegplayer/mpegplayer.h +++ b/apps/plugins/mpegplayer/mpegplayer.h @@ -22,7 +22,7 @@ #define MPEGPLAYER_H /* Global API pointer */ -extern struct plugin_api* rb; +extern const struct plugin_api* rb; #ifdef HAVE_SCHEDULER_BOOSTCTRL #define trigger_cpu_boost rb->trigger_cpu_boost diff --git a/apps/plugins/nim.c b/apps/plugins/nim.c index b13cfe415b..ae3297d458 100644 --- a/apps/plugins/nim.c +++ b/apps/plugins/nim.c @@ -59,7 +59,7 @@ static unsigned char str[12]; /*String use to display the first line*/ static unsigned long hsmile,hcry,h1,h2; /*Handle for the new pattern*/ static bool end; /*If true game is finished*/ -static struct plugin_api* rb; +static const struct plugin_api* rb; /*Display that the action it's impossible*/ @@ -138,7 +138,7 @@ static void nim_exit(void *parameter) } /* this is the plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int y,z,button; int x,v,min; diff --git a/apps/plugins/oscilloscope.c b/apps/plugins/oscilloscope.c index eae1a7bc4c..e126ff57d0 100644 --- a/apps/plugins/oscilloscope.c +++ b/apps/plugins/oscilloscope.c @@ -249,7 +249,7 @@ enum { OSC_HORIZ, OSC_VERT, MAX_OSC }; /* global variables */ -struct plugin_api* rb; /* global api struct pointer */ +const struct plugin_api* rb; /* global api struct pointer */ /* settings */ struct osc_config { @@ -650,7 +650,7 @@ void cleanup(void *parameter) backlight_use_settings(rb); /* backlight control in lib/helper.c */ } -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int button, vol; int lastbutton = BUTTON_NONE; diff --git a/apps/plugins/pacbox/arcade.c b/apps/plugins/pacbox/arcade.c index db7bf0bb89..5244ed8d8c 100644 --- a/apps/plugins/pacbox/arcade.c +++ b/apps/plugins/pacbox/arcade.c @@ -27,7 +27,7 @@ #include <string.h> #include "plugin.h" -extern struct plugin_api* rb; +extern const struct plugin_api* rb; #ifndef HAVE_LCD_COLOR /* Convert RGB888 to 2-bit greyscale - logic taken from bmp2rb.c */ diff --git a/apps/plugins/pacbox/hardware.c b/apps/plugins/pacbox/hardware.c index 23658cf61e..376fe3273f 100644 --- a/apps/plugins/pacbox/hardware.c +++ b/apps/plugins/pacbox/hardware.c @@ -25,7 +25,7 @@ #include "plugin.h" #include "hardware.h" -extern struct plugin_api* rb; +extern const struct plugin_api* rb; /* The main data for Pacman */ diff --git a/apps/plugins/pacbox/pacbox.c b/apps/plugins/pacbox/pacbox.c index fad27358d2..1eb040e24d 100644 --- a/apps/plugins/pacbox/pacbox.c +++ b/apps/plugins/pacbox/pacbox.c @@ -32,7 +32,7 @@ PLUGIN_HEADER PLUGIN_IRAM_DECLARE -struct plugin_api* rb; +const struct plugin_api* rb; struct pacman_settings { int difficulty; @@ -361,7 +361,7 @@ static int gameProc( void ) return 0; } -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { (void)parameter; diff --git a/apps/plugins/pegbox.c b/apps/plugins/pegbox.c index e41c724da6..ed58ac605d 100644 --- a/apps/plugins/pegbox.c +++ b/apps/plugins/pegbox.c @@ -25,7 +25,7 @@ #endif #include "pegbox_pieces.h" -static struct plugin_api* rb; +static const struct plugin_api* rb; PLUGIN_HEADER @@ -1256,7 +1256,7 @@ static int pegbox(struct game_context* pb) { /***************************************************************************** * plugin entry point. ******************************************************************************/ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) { +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { bool exit = false; struct game_context pb; diff --git a/apps/plugins/pictureflow.c b/apps/plugins/pictureflow.c index e5494d661a..bea028eadc 100644 --- a/apps/plugins/pictureflow.c +++ b/apps/plugins/pictureflow.c @@ -34,7 +34,7 @@ PLUGIN_HEADER /******************************* Globals ***********************************/ -static struct plugin_api *rb; /* global api struct pointer */ +static const struct plugin_api *rb; /* global api struct pointer */ const struct button_mapping *plugin_contexts[] = {generic_actions, generic_directions}; @@ -2080,7 +2080,7 @@ int main(void) /*************************** Plugin entry point ****************************/ -enum plugin_status plugin_start(struct plugin_api *api, void *parameter) +enum plugin_status plugin_start(const struct plugin_api *api, const void *parameter) { int ret; diff --git a/apps/plugins/plasma.c b/apps/plugins/plasma.c index e8ae7645b4..027a8355da 100644 --- a/apps/plugins/plasma.c +++ b/apps/plugins/plasma.c @@ -36,7 +36,7 @@ PLUGIN_HEADER /******************************* Globals ***********************************/ -static struct plugin_api* rb; /* global api struct pointer */ +static const struct plugin_api* rb; /* global api struct pointer */ static unsigned char wave_array[256]; /* Pre calculated wave array */ #ifdef HAVE_LCD_COLOR static fb_data colours[256]; /* Smooth transition of shades */ @@ -343,7 +343,7 @@ int main(void) /*************************** Plugin entry point ****************************/ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int ret; diff --git a/apps/plugins/pong.c b/apps/plugins/pong.c index 8163915fb6..c7382a58b2 100644 --- a/apps/plugins/pong.c +++ b/apps/plugins/pong.c @@ -174,7 +174,7 @@ PLUGIN_HEADER #endif #endif -static struct plugin_api* rb; +static const struct plugin_api* rb; struct pong { int ballx; /* current X*RES position of the ball */ @@ -453,7 +453,7 @@ void showscore(struct pong *p) } /* this is the plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { struct pong pong; int game = 1; diff --git a/apps/plugins/properties.c b/apps/plugins/properties.c index 27805154b3..05d05a746b 100644 --- a/apps/plugins/properties.c +++ b/apps/plugins/properties.c @@ -20,7 +20,7 @@ PLUGIN_HEADER -static struct plugin_api* rb; +static const struct plugin_api* rb; MEM_FUNCTION_WRAPPERS(rb); @@ -252,21 +252,23 @@ char * get_props(int selected_item, void* data, char *buffer, size_t buffer_len) return buffer; } -enum plugin_status plugin_start(struct plugin_api* api, void* file) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { rb = api; struct gui_synclist properties_lists; int button; bool prev_show_statusbar; bool quit = false; + char file[MAX_PATH]; + rb->strcpy(file, (const char *) parameter); /* determine if it's a file or a directory */ bool found = false; DIR* dir; struct dirent* entry; - char* ptr = rb->strrchr((char*)file, '/') + 1; - int dirlen = (ptr - (char*)file); - rb->strncpy(str_dirname, (char*)file, dirlen); + char* ptr = rb->strrchr(file, '/') + 1; + int dirlen = (ptr - file); + rb->strncpy(str_dirname, file, dirlen); str_dirname[dirlen] = 0; dir = rb->opendir(str_dirname); @@ -288,13 +290,13 @@ enum plugin_status plugin_start(struct plugin_api* api, void* file) if(!found) { /* weird: we couldn't find the entry. This Should Never Happen (TM) */ - rb->splash(0, "File/Dir not found: %s", (char*)file); + rb->splash(0, "File/Dir not found: %s", file); rb->action_userabort(TIMEOUT_BLOCK); return PLUGIN_OK; } /* get the info depending on its_a_dir */ - if(!(its_a_dir ? dir_properties((char*)file):file_properties((char*)file))) + if(!(its_a_dir ? dir_properties(file) : file_properties(file))) { /* something went wrong (to do: tell user what it was (nesting,...) */ rb->splash(0, "Failed to gather information"); diff --git a/apps/plugins/random_folder_advance_config.c b/apps/plugins/random_folder_advance_config.c index 413dc029b4..4df764285f 100644 --- a/apps/plugins/random_folder_advance_config.c +++ b/apps/plugins/random_folder_advance_config.c @@ -21,7 +21,7 @@ PLUGIN_HEADER -static struct plugin_api* rb; +static const struct plugin_api* rb; static bool abort; static int fd; static int dirs_count; @@ -544,7 +544,7 @@ int main_menu(void) return 0; } -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { (void)parameter; diff --git a/apps/plugins/reversi/reversi-game.h b/apps/plugins/reversi/reversi-game.h index de05df78f9..9558f000bf 100644 --- a/apps/plugins/reversi/reversi-game.h +++ b/apps/plugins/reversi/reversi-game.h @@ -58,7 +58,7 @@ typedef struct _reversi_board_t { */ move_t history[BOARD_SIZE*BOARD_SIZE - INIT_STONES]; - struct plugin_api *rb; + const struct plugin_api *rb; } reversi_board_t; diff --git a/apps/plugins/reversi/reversi-gui.c b/apps/plugins/reversi/reversi-gui.c index 1995923f4f..a7e695529b 100644 --- a/apps/plugins/reversi/reversi-gui.c +++ b/apps/plugins/reversi/reversi-gui.c @@ -52,7 +52,7 @@ PLUGIN_HEADER /* The global api struct pointer. While not strictly necessary, it's nice not to have to pass the api pointer in all function calls in the plugin */ -static struct plugin_api* rb; +static const struct plugin_api* rb; /* Thickness of the grid lines */ #define LINE_THCK 1 @@ -543,7 +543,7 @@ static void reversi_gui_move_cursor(int new_row, int new_col) { /* plugin entry point */ -enum plugin_status plugin_start(struct plugin_api *api, void *parameter) { +enum plugin_status plugin_start(const struct plugin_api *api, const void *parameter) { bool exit, draw_screen; int button; int lastbutton = BUTTON_NONE; diff --git a/apps/plugins/robotfindskitten.c b/apps/plugins/robotfindskitten.c index a2786b7e2d..a2208a30d5 100644 --- a/apps/plugins/robotfindskitten.c +++ b/apps/plugins/robotfindskitten.c @@ -180,7 +180,7 @@ int screen[X_MAX + 1][Y_MAX + 1]; /* here is a global api struct pointer. while not strictly necessary, it's nice not to have to pass the api pointer in all function calls in the plugin */ -static struct plugin_api* rb; +static const struct plugin_api* rb; /****************************************************************************** * @@ -593,7 +593,7 @@ static void initialize_screen() } /* this is the plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { (void)parameter; rb = api; diff --git a/apps/plugins/rockblox.c b/apps/plugins/rockblox.c index 62e7c747e1..3df427da48 100644 --- a/apps/plugins/rockblox.c +++ b/apps/plugins/rockblox.c @@ -507,7 +507,7 @@ extern const fb_data rockblox_background[]; /* must have variable */ -static struct plugin_api *rb; +static const struct plugin_api *rb; static bool gameover = false; /* c=current f=figure o=orientation n=next */ @@ -1159,7 +1159,7 @@ static int rockblox_loop (void) return PLUGIN_OK; } -enum plugin_status plugin_start (struct plugin_api *api, void *parameter) +enum plugin_status plugin_start (const struct plugin_api *api, const void *parameter) { int ret; diff --git a/apps/plugins/rockbox_flash.c b/apps/plugins/rockbox_flash.c index ed0fd17f53..fd855ff520 100644 --- a/apps/plugins/rockbox_flash.c +++ b/apps/plugins/rockbox_flash.c @@ -95,7 +95,7 @@ typedef struct char name[32]; } tFlashInfo; -static struct plugin_api* rb; /* here is a global api struct pointer */ +static const struct plugin_api* rb; /* here is a global api struct pointer */ static UINT8* sector; /* better not place this on the stack... */ @@ -1017,7 +1017,7 @@ void DoUserDialog(char* filename) /***************** Plugin Entry Point *****************/ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int oldmode; diff --git a/apps/plugins/rockboy.c b/apps/plugins/rockboy.c index 67f10043ba..c4b1ff0425 100644 --- a/apps/plugins/rockboy.c +++ b/apps/plugins/rockboy.c @@ -27,7 +27,7 @@ PLUGIN_HEADER /* this is the plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { return run_overlay(api, parameter, PLUGIN_GAMES_DIR "/rockboy.ovl", "RockBoy"); } diff --git a/apps/plugins/rockboy/loader.c b/apps/plugins/rockboy/loader.c index d48a06957e..71ab4e78d7 100644 --- a/apps/plugins/rockboy/loader.c +++ b/apps/plugins/rockboy/loader.c @@ -99,7 +99,7 @@ static const unsigned char ramsize_table[5] = 0, 1, 1, 4, 16 }; -static char *romfile; +static const char *romfile; static char sramfile[500]; static char rtcfile[500]; static char saveprefix[500]; @@ -284,7 +284,7 @@ void cleanup(void) /* IDEA - if error, write emergency savestate..? */ } -void loader_init(char *s) +void loader_init(const char *s) { romfile = s; if(rom_load()) diff --git a/apps/plugins/rockboy/loader.h b/apps/plugins/rockboy/loader.h index 33217d55f3..5ade6e7d8a 100644 --- a/apps/plugins/rockboy/loader.h +++ b/apps/plugins/rockboy/loader.h @@ -3,7 +3,7 @@ #ifndef __LOADER_H__ #define __LOADER_H__ -void loader_init(char *s); +void loader_init(const char *s); void cleanup(void); #endif diff --git a/apps/plugins/rockboy/rockboy.c b/apps/plugins/rockboy/rockboy.c index 58696a1f61..a0e87d041d 100644 --- a/apps/plugins/rockboy/rockboy.c +++ b/apps/plugins/rockboy/rockboy.c @@ -30,7 +30,7 @@ PLUGIN_IRAM_DECLARE /* here is a global api struct pointer. while not strictly necessary, it's nice not to have to pass the api pointer in all function calls in the plugin */ -struct plugin_api* rb; +const struct plugin_api* rb; int shut,cleanshut; char *errormsg; @@ -275,7 +275,7 @@ void doevents(void) } } -static int gnuboy_main(char *rom) +static int gnuboy_main(const char *rom) { rb->lcd_puts(0,0,"Init video"); vid_init(); @@ -297,7 +297,7 @@ static int gnuboy_main(char *rom) } /* this is the plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { PLUGIN_IRAM_INIT(api) diff --git a/apps/plugins/rockboy/rockmacros.h b/apps/plugins/rockboy/rockmacros.h index 89cb845ec2..18e4d5c255 100644 --- a/apps/plugins/rockboy/rockmacros.h +++ b/apps/plugins/rockboy/rockmacros.h @@ -26,7 +26,7 @@ #define malloc(a) my_malloc(a) void *my_malloc(size_t size); -extern struct plugin_api* rb; +extern const struct plugin_api* rb; extern int shut,cleanshut; void vid_init(void); inline void vid_begin(void); diff --git a/apps/plugins/rocklife.c b/apps/plugins/rocklife.c index 49e1e8fc33..507f131322 100644 --- a/apps/plugins/rocklife.c +++ b/apps/plugins/rocklife.c @@ -77,7 +77,7 @@ PLUGIN_HEADER #define PATTERN_ACORN 3 #define PATTERN_GLIDER_GUN 4 /* not yet implemented */ -static struct plugin_api* rb; +static const struct plugin_api* rb; const struct button_mapping *plugin_contexts[] = {generic_directions, generic_actions}; @@ -393,7 +393,7 @@ static void next_generation(char *pgrid, char *pnext_grid){ /**********************************/ /* this is the plugin entry point */ /**********************************/ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int button = 0; int quit = 0; diff --git a/apps/plugins/rockpaint.c b/apps/plugins/rockpaint.c index 997cbef0f3..e612d458bb 100644 --- a/apps/plugins/rockpaint.c +++ b/apps/plugins/rockpaint.c @@ -256,7 +256,7 @@ static void inv_cursor(bool update); static void restore_screen(void); static void clear_drawing(void); static void goto_menu(void); -static int load_bitmap( char *filename ); +static int load_bitmap( const char *filename ); static int save_bitmap( char *filename ); static void draw_rect_full( int x1, int y1, int x2, int y2 ); extern int errno; @@ -269,7 +269,7 @@ extern int errno; int errno; #endif -static struct plugin_api* rb; +static const struct plugin_api* rb; MEM_FUNCTION_WRAPPERS(rb); @@ -2953,7 +2953,7 @@ static bool rockpaint_loop( void ) return PLUGIN_OK; } -static int load_bitmap( char *file ) +static int load_bitmap( const char *file ) { struct bitmap bm; bool ret; @@ -2992,7 +2992,7 @@ static int save_bitmap( char *file ) return save_bmp_file( file, &bm, rb ); } -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { /** must have stuff **/ rb = api; diff --git a/apps/plugins/search.c b/apps/plugins/search.c index 097f4ac7d5..5f034ef8ae 100644 --- a/apps/plugins/search.c +++ b/apps/plugins/search.c @@ -22,7 +22,7 @@ PLUGIN_HEADER -static struct plugin_api* rb; +static const struct plugin_api* rb; #define BUFFER_SIZE 16384 @@ -114,7 +114,7 @@ static void clear_display(void){ } } -static bool search_init(char* file){ +static bool search_init(const char* file){ rb->memset(search_string, 0, sizeof(search_string)); if (!rb->kbd_input(search_string,sizeof search_string)){ @@ -144,10 +144,10 @@ static bool search_init(char* file){ } /* this is the plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int ok; - char *filename = parameter; + const char *filename = parameter; char *p; rb = api; diff --git a/apps/plugins/searchengine/searchengine.c b/apps/plugins/searchengine/searchengine.c index 62d3a91fa7..944714eb2f 100644 --- a/apps/plugins/searchengine/searchengine.c +++ b/apps/plugins/searchengine/searchengine.c @@ -26,7 +26,7 @@ PLUGIN_HEADER void *audio_bufferbase; void *audio_bufferpointer; size_t audio_buffer_free; -struct plugin_api* rb; +const struct plugin_api* rb; int w, h, y; void *my_malloc(size_t size) @@ -56,7 +56,7 @@ void setmallocpos(void *pointer) } /* this is the plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { unsigned char *result,buf[500]; int parsefd,hits; diff --git a/apps/plugins/searchengine/searchengine.h b/apps/plugins/searchengine/searchengine.h index 07248ef37e..b0f6597971 100644 --- a/apps/plugins/searchengine/searchengine.h +++ b/apps/plugins/searchengine/searchengine.h @@ -38,7 +38,7 @@ rb->lcd_update() rb->lcd_update() #endif -extern struct plugin_api* rb; +extern const struct plugin_api* rb; void *my_malloc(size_t size); void setmallocpos(void *pointer); diff --git a/apps/plugins/shortcuts/shortcuts.h b/apps/plugins/shortcuts/shortcuts.h index 34f200d193..2d2c705a66 100644 --- a/apps/plugins/shortcuts/shortcuts.h +++ b/apps/plugins/shortcuts/shortcuts.h @@ -32,7 +32,7 @@ #define SHORTCUTS_FILENAME "/shortcuts.link" -extern struct plugin_api* rb; +extern const struct plugin_api* rb; typedef struct sc_entry_s { diff --git a/apps/plugins/shortcuts/shortcuts_append.c b/apps/plugins/shortcuts/shortcuts_append.c index afd03929ae..4174bdd2d8 100644 --- a/apps/plugins/shortcuts/shortcuts_append.c +++ b/apps/plugins/shortcuts/shortcuts_append.c @@ -49,7 +49,7 @@ bool append_entry_to_file(sc_file_t *file, char *path, bool is_dir) } -enum plugin_status plugin_start(struct plugin_api* api, void* void_parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* void_parameter) { rb = api; bool found; diff --git a/apps/plugins/shortcuts/shortcuts_view.c b/apps/plugins/shortcuts/shortcuts_view.c index 5e7d9c2b00..47f0203b87 100644 --- a/apps/plugins/shortcuts/shortcuts_view.c +++ b/apps/plugins/shortcuts/shortcuts_view.c @@ -198,7 +198,7 @@ bool ends_with(char *string, char *suffix) } -enum plugin_status plugin_start(struct plugin_api* api, void* void_parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* void_parameter) { rb = api; bool leave_loop; diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c index 1e99a7adaf..36c95b9dda 100644 --- a/apps/plugins/sliding_puzzle.c +++ b/apps/plugins/sliding_puzzle.c @@ -184,7 +184,7 @@ PLUGIN_HEADER #define IMAGE_HEIGHT BMPHEIGHT_sliding_puzzle #define IMAGE_SIZE IMAGE_WIDTH -static struct plugin_api* rb; +static const struct plugin_api* rb; /* use a square image, (the default Archos bitmap looks square on its display) Puzzle image dimension is min(lcd_height,lcd_width) @@ -603,7 +603,7 @@ static int puzzle_loop(void) } } -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int i, w, h; diff --git a/apps/plugins/snake.c b/apps/plugins/snake.c index 6203a07a23..471b72f6b1 100644 --- a/apps/plugins/snake.c +++ b/apps/plugins/snake.c @@ -174,7 +174,7 @@ PLUGIN_HEADER static int board[BOARD_WIDTH][BOARD_HEIGHT],snakelength; static unsigned int score,hiscore=0,level=1; static short dir,frames,apple,dead=0; -static struct plugin_api* rb; +static const struct plugin_api* rb; void die (void) { @@ -432,7 +432,7 @@ void game_init(void) { } } -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { (void)(parameter); rb = api; diff --git a/apps/plugins/snake2.c b/apps/plugins/snake2.c index 0452294195..625e5c5a6a 100644 --- a/apps/plugins/snake2.c +++ b/apps/plugins/snake2.c @@ -354,7 +354,7 @@ static int apple; static int level = 4, speed = 5,dead = 0, quit = 0; static int sillydir = 0, num_levels = 0; static int level_from_file = 0; -static struct plugin_api* rb; +static const struct plugin_api* rb; static int headx, heady, tailx, taily, applecountdown = 5; static int game_type = 0; static int num_apples_to_get=1; @@ -1398,7 +1398,7 @@ void game_init(void) } -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { (void)(parameter); rb = api; diff --git a/apps/plugins/snow.c b/apps/plugins/snow.c index 6550050646..becc7d871a 100644 --- a/apps/plugins/snow.c +++ b/apps/plugins/snow.c @@ -70,7 +70,7 @@ PLUGIN_HEADER #endif static short particles[NUM_PARTICLES][2]; -static struct plugin_api* rb; +static const struct plugin_api* rb; #ifdef HAVE_LCD_BITMAP #if LCD_WIDTH >= 160 @@ -185,7 +185,7 @@ static void snow_init(void) #endif } -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int button; (void)(parameter); diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c index 2b12a3da58..bc5bf42e8d 100644 --- a/apps/plugins/sokoban.c +++ b/apps/plugins/sokoban.c @@ -372,7 +372,7 @@ static struct BufferedBoards { } buffered_boards; -static struct plugin_api* rb; +static const struct plugin_api* rb; MEM_FUNCTION_WRAPPERS(rb); static char buf[ROWS*(COLS + 1)]; /* Enough for a whole board or a filename */ @@ -1576,7 +1576,7 @@ static bool sokoban_loop(void) } -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int w, h; diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c index 0907054a1c..d16b65c549 100644 --- a/apps/plugins/solitaire.c +++ b/apps/plugins/solitaire.c @@ -28,7 +28,7 @@ PLUGIN_HEADER -static struct plugin_api* rb; +static const struct plugin_api* rb; #define min(a,b) (a<b?a:b) /** @@ -1843,7 +1843,7 @@ int solitaire( int skipmenu ) * Plugin entry point */ -enum plugin_status plugin_start( struct plugin_api* api, void* parameter ) +enum plugin_status plugin_start( const struct plugin_api* api, const void* parameter ) { int result; diff --git a/apps/plugins/sort.c b/apps/plugins/sort.c index f99549ebd7..571978cf1c 100644 --- a/apps/plugins/sort.c +++ b/apps/plugins/sort.c @@ -57,7 +57,7 @@ PLUGIN_HEADER -static struct plugin_api* rb; +static const struct plugin_api* rb; ssize_t buf_size; static char *filename; @@ -176,7 +176,7 @@ static int write_file(void) return 0; } -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { char *buf; int rc; diff --git a/apps/plugins/spacerocks.c b/apps/plugins/spacerocks.c index bfddb453dc..8db5ff92cf 100644 --- a/apps/plugins/spacerocks.c +++ b/apps/plugins/spacerocks.c @@ -25,7 +25,7 @@ PLUGIN_HEADER /******************************* Globals ***********************************/ -static struct plugin_api* rb; /* global api struct pointer */ +static const struct plugin_api* rb; /* global api struct pointer */ /* variable button definitions */ #if CONFIG_KEYPAD == RECORDER_PAD #define AST_PAUSE BUTTON_ON @@ -2022,7 +2022,7 @@ enum plugin_status start_game(void) } } -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { enum plugin_status retval; (void)(parameter); diff --git a/apps/plugins/splitedit.c b/apps/plugins/splitedit.c index ab4ce415b7..419ce7a676 100644 --- a/apps/plugins/splitedit.c +++ b/apps/plugins/splitedit.c @@ -97,7 +97,7 @@ unsigned char SCALE_BMP[][13] = #define SE_COUNT 5 /* the global api pointer */ -static struct plugin_api* rb; +static const struct plugin_api* rb; /* contains the file name of the song that is to be split */ static char path_mp3[MAX_PATH]; @@ -1248,7 +1248,7 @@ unsigned long splitedit_editor(struct mp3entry * mp3_to_split, return retval; } -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { struct mp3entry* mp3; diff --git a/apps/plugins/star.c b/apps/plugins/star.c index 46780f9ea7..1b7c4d01b5 100644 --- a/apps/plugins/star.c +++ b/apps/plugins/star.c @@ -310,7 +310,7 @@ static char board[STAR_HEIGHT][STAR_WIDTH]; static int char_width = -1; static int char_height = -1; -static struct plugin_api* rb; +static const struct plugin_api* rb; /* this arrays contains a group of levels loaded into memory */ static unsigned char* levels = @@ -1101,7 +1101,7 @@ static int star_menu(void) /** * Main entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { (void)parameter; rb = api; diff --git a/apps/plugins/starfield.c b/apps/plugins/starfield.c index 754af24f8c..130e077cc7 100644 --- a/apps/plugins/starfield.c +++ b/apps/plugins/starfield.c @@ -24,7 +24,7 @@ PLUGIN_HEADER /******************************* Globals ***********************************/ -static struct plugin_api* rb; /* global api struct pointer */ +static const struct plugin_api* rb; /* global api struct pointer */ /* Key assignement */ #if (CONFIG_KEYPAD == IPOD_4G_PAD) || \ @@ -169,7 +169,7 @@ static struct plugin_api* rb; /* global api struct pointer */ #define MSG_DISP_TIME 30 -static struct plugin_api* rb; /* global api struct pointer */ +static const struct plugin_api* rb; /* global api struct pointer */ /* * Each star's stuffs @@ -432,7 +432,7 @@ int plugin_main(void) /*************************** Plugin entry point ****************************/ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int ret; diff --git a/apps/plugins/stats.c b/apps/plugins/stats.c index a65fde4704..be73e23406 100644 --- a/apps/plugins/stats.c +++ b/apps/plugins/stats.c @@ -20,7 +20,7 @@ PLUGIN_HEADER -static struct plugin_api* rb; +static const struct plugin_api* rb; static int files, dirs, musicfiles, largestdir; static int lasttick; static bool abort; @@ -183,7 +183,7 @@ void traversedir(char* location, char* name) largestdir = files_in_dir; } -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int button; diff --git a/apps/plugins/stopwatch.c b/apps/plugins/stopwatch.c index 18ad1c48cb..ece19b1e82 100644 --- a/apps/plugins/stopwatch.c +++ b/apps/plugins/stopwatch.c @@ -171,7 +171,7 @@ PLUGIN_HEADER #endif #endif -static struct plugin_api* rb; +static const struct plugin_api* rb; static int stopwatch = 0; static long start_at = 0; @@ -228,7 +228,7 @@ static void ticks_to_string(int ticks,int lap,int buflen, char * buf) } } -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { char buf[32]; int button; diff --git a/apps/plugins/sudoku/generator.c b/apps/plugins/sudoku/generator.c index eaef8c0f17..56dce48cc2 100644 --- a/apps/plugins/sudoku/generator.c +++ b/apps/plugins/sudoku/generator.c @@ -35,7 +35,7 @@ #include "sudoku.h" #include "templates.h" -extern struct plugin_api* rb; +extern const struct plugin_api* rb; #define assert(x) diff --git a/apps/plugins/sudoku/sudoku.c b/apps/plugins/sudoku/sudoku.c index d76b68ef27..64a6c8d7c9 100644 --- a/apps/plugins/sudoku/sudoku.c +++ b/apps/plugins/sudoku/sudoku.c @@ -80,7 +80,7 @@ PLUGIN_HEADER it's nice not to have to pass the api pointer in all function calls in the plugin */ -struct plugin_api* rb; +const struct plugin_api* rb; /* Default game - used to initialise sudoku.ss if it doesn't exist. */ static const char default_game[9][9] = @@ -1188,7 +1188,7 @@ void move_cursor(struct sudoku_state_t* state, int newx, int newy) } /* plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { bool exit; int button; diff --git a/apps/plugins/superdom.c b/apps/plugins/superdom.c index e99d456454..4f5cc53086 100644 --- a/apps/plugins/superdom.c +++ b/apps/plugins/superdom.c @@ -18,7 +18,7 @@ ****************************************************************************/ #include "plugin.h" PLUGIN_HEADER -static struct plugin_api* rb; +static const struct plugin_api* rb; extern const fb_data superdom_boarditems[]; char buf[255]; @@ -2153,7 +2153,7 @@ void computer_war(void) { } } -int load_game(char* file) { +static int load_game(const char* file) { int fd; fd = rb->open(file, O_RDONLY); @@ -2222,7 +2222,7 @@ int average_strength(bool colour) { return totalpower/100; } -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int tempmenu; bool statusbar_setting; diff --git a/apps/plugins/test_codec.c b/apps/plugins/test_codec.c index 69d905a37e..40b1bfdd32 100644 --- a/apps/plugins/test_codec.c +++ b/apps/plugins/test_codec.c @@ -30,7 +30,7 @@ PLUGIN_HEADER #define TESTCODEC_EXITBUTTON BUTTON_SELECT #endif -static struct plugin_api* rb; +static const struct plugin_api* rb; CACHE_FUNCTION_WRAPPERS(rb) @@ -629,7 +629,7 @@ exit: } /* plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { uintptr_t* codec_stack_copy; int result, selection = 0; diff --git a/apps/plugins/test_disk.c b/apps/plugins/test_disk.c index 27dbdb3334..93464807c3 100644 --- a/apps/plugins/test_disk.c +++ b/apps/plugins/test_disk.c @@ -34,7 +34,7 @@ PLUGIN_HEADER #endif #define TEST_TIME 10 /* in seconds */ -static struct plugin_api* rb; +static const struct plugin_api* rb; static unsigned char* audiobuf; static ssize_t audiobuflen; @@ -404,7 +404,7 @@ static bool test_speed(void) /* this is the plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { static const struct menu_item items[] = { { "Disk speed", test_speed }, diff --git a/apps/plugins/test_fps.c b/apps/plugins/test_fps.c index 46a94a91ec..0852e0a9fb 100644 --- a/apps/plugins/test_fps.c +++ b/apps/plugins/test_fps.c @@ -39,7 +39,7 @@ PLUGIN_IRAM_DECLARE PLUGIN_HEADER -static struct plugin_api* rb; +static const struct plugin_api* rb; /* Screen logging */ static int line; @@ -334,7 +334,7 @@ static void time_greyscale(void) #endif /* plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { #ifndef SIMULATOR char str[32]; diff --git a/apps/plugins/test_grey.c b/apps/plugins/test_grey.c index a413854332..5d836633de 100644 --- a/apps/plugins/test_grey.c +++ b/apps/plugins/test_grey.c @@ -105,7 +105,7 @@ static const unsigned char dither_matrix[16][16] = { static unsigned char input_levels[STEPS+1]; static unsigned char lcd_levels[STEPS+1]; -static struct plugin_api* rb; +static const struct plugin_api* rb; static unsigned char *gbuf; static size_t gbuf_size = 0; @@ -136,7 +136,7 @@ static void fill_rastered(int bx, int by, int bw, int bh, int step) } /* plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { bool done = false; int cur_step = 1; diff --git a/apps/plugins/test_resize.c b/apps/plugins/test_resize.c index c50bc5f91c..218da2a625 100644 --- a/apps/plugins/test_resize.c +++ b/apps/plugins/test_resize.c @@ -28,7 +28,7 @@ PLUGIN_HEADER -static struct plugin_api* rb; +static const struct plugin_api* rb; const struct button_mapping *plugin_contexts[] = {generic_actions, generic_directions}; @@ -62,7 +62,7 @@ static fb_data output_bmp_data[MAX_OUTPUT_WIDTH*MAX_OUTPUT_HEIGHT]; /* this is the plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { (void)parameter; diff --git a/apps/plugins/test_sampr.c b/apps/plugins/test_sampr.c index 2cd95d7983..a036844880 100644 --- a/apps/plugins/test_sampr.c +++ b/apps/plugins/test_sampr.c @@ -21,7 +21,7 @@ PLUGIN_HEADER -struct plugin_api *rb; +const struct plugin_api *rb; enum { @@ -253,7 +253,7 @@ void set_waveform(void) /* Tests hardware sample rate switching */ /* TODO: needs a volume control */ -enum plugin_status plugin_start(struct plugin_api *api, void *parameter) +enum plugin_status plugin_start(const struct plugin_api *api, const void *parameter) { static const struct menu_item items[] = { diff --git a/apps/plugins/test_scanrate.c b/apps/plugins/test_scanrate.c index bd189bc85e..995e64a257 100644 --- a/apps/plugins/test_scanrate.c +++ b/apps/plugins/test_scanrate.c @@ -107,7 +107,7 @@ PLUGIN_HEADER #define NEED_BOOST #endif -static struct plugin_api* rb; +static const struct plugin_api* rb; static unsigned char bitbuffer[2][BUF_HEIGHT][BUF_WIDTH]; static int curbuf = 0; static int scan_rate = DEFAULT_SCAN_RATE; @@ -210,7 +210,7 @@ int plugin_main(void) /* this is the plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { (void)parameter; rb = api; diff --git a/apps/plugins/test_touchpad.c b/apps/plugins/test_touchpad.c index 2970f6fbf4..a9ad96eb32 100644 --- a/apps/plugins/test_touchpad.c +++ b/apps/plugins/test_touchpad.c @@ -28,10 +28,10 @@ PLUGIN_HEADER #define TOUCHPAD_TOGGLE BUTTON_RC_MODE #endif -static struct plugin_api* rb; +static const struct plugin_api* rb; /* plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int button = 0; enum touchpad_mode mode = TOUCHPAD_BUTTON; diff --git a/apps/plugins/test_viewports.c b/apps/plugins/test_viewports.c index 1f1e99a0ff..bb1b4b9af9 100644 --- a/apps/plugins/test_viewports.c +++ b/apps/plugins/test_viewports.c @@ -21,7 +21,7 @@ PLUGIN_HEADER -static struct plugin_api* rb; +static const struct plugin_api* rb; #ifdef HAVE_LCD_BITMAP @@ -157,7 +157,7 @@ static struct viewport rvp1 = #endif -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { (void)parameter; char buf[80]; @@ -278,7 +278,7 @@ static struct viewport vp2 = }; -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { (void)parameter; diff --git a/apps/plugins/text_editor.c b/apps/plugins/text_editor.c index 617155fb2b..0edde54e75 100644 --- a/apps/plugins/text_editor.c +++ b/apps/plugins/text_editor.c @@ -26,7 +26,7 @@ #endif #define MAX_LINE_LEN 2048 PLUGIN_HEADER -static struct plugin_api* rb; +static const struct plugin_api* rb; static char buffer[MAX_CHARS]; static char eol[3]; @@ -118,8 +118,8 @@ int _do_action(int action, char* str, int line) char *list_get_name_cb(int selected_item, void* data, char* buf, size_t buf_len) { - char *b = &buffer[do_action(ACTION_GET,0,selected_item)]; (void)data; + char *b = &buffer[do_action(ACTION_GET,0,selected_item)]; if (rb->strlen(b) >= buf_len) { char t = b[buf_len-10]; @@ -306,7 +306,7 @@ int hex_to_rgb(const char* hex, int* color) #endif /* HAVE_LCD_COLOR */ /* this is the plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int fd; static char temp_line[MAX_LINE_LEN]; diff --git a/apps/plugins/vbrfix.c b/apps/plugins/vbrfix.c index 665a2aae5e..85a61cbfc3 100644 --- a/apps/plugins/vbrfix.c +++ b/apps/plugins/vbrfix.c @@ -20,7 +20,7 @@ PLUGIN_HEADER -static struct plugin_api* rb; +static const struct plugin_api* rb; static char *audiobuf; static ssize_t audiobuflen; @@ -36,7 +36,7 @@ static void xingupdate(int percent) rb->lcd_update(); } -static int insert_data_in_file(char *fname, int fpos, char *buf, int num_bytes) +static int insert_data_in_file(const char *fname, int fpos, char *buf, int num_bytes) { int readlen; int rc; @@ -126,7 +126,7 @@ static const unsigned char empty_id3_header[] = 0x00, 0x00, 0x1f, 0x76 /* Size is 4096 minus 10 bytes for the header */ }; -static bool vbr_fix(char *selected_file) +static bool vbr_fix(const char *selected_file) { struct mp3entry entry; int fd; @@ -261,7 +261,7 @@ static bool vbr_fix(char *selected_file) return false; } -enum plugin_status plugin_start(struct plugin_api* api, void *parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void *parameter) { rb = api; diff --git a/apps/plugins/video.c b/apps/plugins/video.c index 3e7e53aec8..f1f6533f4f 100644 --- a/apps/plugins/video.c +++ b/apps/plugins/video.c @@ -141,7 +141,7 @@ typedef struct /* the little header for all audio blocks */ /****************** globals ******************/ -static struct plugin_api* rb; /* here is a global api struct pointer */ +static const struct plugin_api* rb; /* here is a global api struct pointer */ static char gPrint[32]; /* a global printf buffer, saves stack */ @@ -986,7 +986,7 @@ int main(char* filename) /***************** Plugin Entry Point *****************/ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { rb = api; /* copy to global api pointer */ diff --git a/apps/plugins/viewer.c b/apps/plugins/viewer.c index 885ac70bea..cd0d3694ba 100644 --- a/apps/plugins/viewer.c +++ b/apps/plugins/viewer.c @@ -357,7 +357,7 @@ static int display_lines; /* number of lines on the display */ static int draw_columns; /* number of (pixel) columns available for text */ static int par_indent_spaces; /* number of spaces to indent first paragraph */ static int fd; -static char *file_name; +static const char *file_name; static long file_size; static long start_position; /* position in the file after the viewer is started */ static bool mac_text; @@ -368,7 +368,7 @@ static unsigned char *screen_top_ptr; static unsigned char *next_screen_ptr; static unsigned char *next_screen_to_draw_ptr; static unsigned char *next_line_ptr; -static struct plugin_api* rb; +static const struct plugin_api* rb; #ifdef HAVE_LCD_BITMAP static struct font *pf; #endif @@ -1457,7 +1457,7 @@ static void viewer_menu(void) viewer_draw(col); } -enum plugin_status plugin_start(struct plugin_api* api, void* file) +enum plugin_status plugin_start(const struct plugin_api* api, const void* file) { int button, i, ok; int lastbutton = BUTTON_NONE; diff --git a/apps/plugins/vu_meter.c b/apps/plugins/vu_meter.c index bdbab8ccf5..861adcc64c 100644 --- a/apps/plugins/vu_meter.c +++ b/apps/plugins/vu_meter.c @@ -648,7 +648,7 @@ void digital_meter(void) { rb->lcd_hline(0,LCD_WIDTH-1,half_height+3); } -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) { +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int button; int lastbutton = BUTTON_NONE; diff --git a/apps/plugins/wav2wv.c b/apps/plugins/wav2wv.c index f3e191d30d..45f99f7071 100644 --- a/apps/plugins/wav2wv.c +++ b/apps/plugins/wav2wv.c @@ -27,7 +27,7 @@ PLUGIN_HEADER #define SAMPLES_PER_BLOCK 22050 -static struct plugin_api* rb; +static const struct plugin_api* rb; void *memset(void *s, int c, size_t n) { return(rb->memset(s,c,n)); @@ -102,34 +102,35 @@ static void wvupdate (int32_t start_tick, static int32_t temp_buffer [TEMP_SAMPLES] IDATA_ATTR; -static int wav2wv (char *filename) +static int wav2wv(const char *infile) { int in_fd, out_fd, num_chans, error = false, last_buttons; unsigned int32_t total_bytes_read = 0, total_bytes_written = 0; unsigned int32_t total_samples, samples_remaining; int32_t *input_buffer = (int32_t *) audiobuf; unsigned char *output_buffer = (unsigned char *)(audiobuf + 0x100000); - char *extension, save_a; + char outfile[MAX_PATH]; + const char *inextension; + char *outextension; WavpackConfig config; WavpackContext *wpc; int32_t start_tick; rb->lcd_clear_display(); - rb->lcd_puts_scroll(0, 0, (unsigned char *)filename); + rb->lcd_puts_scroll(0, 0, (unsigned char *)infile); #ifdef HAVE_LCD_BITMAP rb->lcd_update(); #endif last_buttons = rb->button_status (); start_tick = *rb->current_tick; - extension = filename + rb->strlen (filename) - 3; - - if (rb->strcasecmp (extension, "wav")) { + inextension = infile + rb->strlen(infile) - 3; + if (rb->strcasecmp (inextension, "wav")) { rb->splash(HZ*2, "only for wav files!"); return 1; } - in_fd = rb->open(filename, O_RDONLY); + in_fd = rb->open(infile, O_RDONLY); if (in_fd < 0) { rb->splash(HZ*2, "could not open file!"); @@ -171,14 +172,12 @@ static int wav2wv (char *filename) } WavpackAddWrapper (wpc, &raw_header, sizeof (raw_header)); - save_a = extension [1]; - extension [1] = extension [2]; - extension [2] = 0; - - out_fd = rb->creat (filename); - extension [2] = extension [1]; - extension [1] = save_a; + rb->strcpy(outfile, infile); + outextension = outfile + rb->strlen(outfile) - 3; + outextension[1] = outextension[2]; + outextension[2] = 0; + out_fd = rb->creat(outfile); if (out_fd < 0) { rb->splash(HZ*2, "could not create file!"); @@ -278,12 +277,7 @@ static int wav2wv (char *filename) rb->close (in_fd); if (error) { - save_a = extension [1]; - extension [1] = extension [2]; - extension [2] = 0; - rb->remove (filename); - extension [2] = extension [1]; - extension [1] = save_a; + rb->remove (outfile); } else rb->splash(HZ*3, "operation successful"); @@ -291,7 +285,7 @@ static int wav2wv (char *filename) return error; } -enum plugin_status plugin_start(struct plugin_api* api, void *parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void *parameter) { #ifdef RB_PROFILE /* This doesn't start profiling or anything, it just gives the diff --git a/apps/plugins/wavplay.c b/apps/plugins/wavplay.c index e20fa55d84..0ef7ef3584 100644 --- a/apps/plugins/wavplay.c +++ b/apps/plugins/wavplay.c @@ -3135,7 +3135,7 @@ void dma_end_isr(void) __attribute__((interrupt_handler)); /* variables */ -static struct plugin_api *rb; +static const struct plugin_api *rb; static unsigned char *aud_buf; static ssize_t aud_size; @@ -3647,7 +3647,7 @@ int play_file(char* filename) } /* plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { ssize_t buf_size; diff --git a/apps/plugins/wavrecord.c b/apps/plugins/wavrecord.c index f6969ff7b5..77e71b8b25 100644 --- a/apps/plugins/wavrecord.c +++ b/apps/plugins/wavrecord.c @@ -3178,7 +3178,7 @@ void rec_tick(void) __attribute__((interrupt_handler)); /* variables */ -static struct plugin_api *rb; +static const struct plugin_api *rb; /* settings */ struct rec_config { @@ -3752,7 +3752,7 @@ static int recording_menu(void) } /* plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { ssize_t buf_size; int align; diff --git a/apps/plugins/wavview.c b/apps/plugins/wavview.c index 9ce873476f..40031ac7f6 100644 --- a/apps/plugins/wavview.c +++ b/apps/plugins/wavview.c @@ -20,7 +20,7 @@ PLUGIN_HEADER -static struct plugin_api* rb; +static const struct plugin_api* rb; /* temp byte buffer */ uint8_t samples[10 * 1024]; /* read 10KB at the time */ @@ -100,7 +100,7 @@ void little_endian_to_native (void *data, char *format) /* read WAV file display some info about it store peak info in aufiobuf for display routine */ -static int readwavpeaks(char *filename) +static int readwavpeaks(const char *filename) { register uint32_t bytes_read; register uint32_t fppmp_count; @@ -352,7 +352,7 @@ void show_help(void) rb->lcd_update(); } -enum plugin_status plugin_start(struct plugin_api* api, void *parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void *parameter) { unsigned int quit = 0; unsigned int action = 0; diff --git a/apps/plugins/wormlet.c b/apps/plugins/wormlet.c index f84fad9e4b..f862c1b345 100644 --- a/apps/plugins/wormlet.c +++ b/apps/plugins/wormlet.c @@ -417,7 +417,7 @@ static int player3_dir = EAST; static int players = 1; /* the rockbox plugin api */ -static struct plugin_api* rb; +static const struct plugin_api* rb; #define SETTINGS_VERSION 1 #define SETTINGS_MIN_VERSION 1 @@ -2444,7 +2444,7 @@ bool launch_wormlet(void) /** * Main entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { int result; int menu_quit = 0; diff --git a/apps/plugins/xobox.c b/apps/plugins/xobox.c index 331650eddc..5054fd21b1 100644 --- a/apps/plugins/xobox.c +++ b/apps/plugins/xobox.c @@ -258,7 +258,7 @@ static int speed = 6; /* CYCLETIME = (11-speed)*10 ms */ static int difficulty = 75; /* Percentage of screen that needs to be filled * in order to win the game */ -static struct plugin_api *rb; +static const struct plugin_api *rb; MEM_FUNCTION_WRAPPERS(rb); @@ -974,7 +974,7 @@ static int xobox_loop (void) } /* plugin main procedure */ -enum plugin_status plugin_start (struct plugin_api *api, void *parameter) +enum plugin_status plugin_start (const struct plugin_api *api, const void *parameter) { int ret = PLUGIN_OK; diff --git a/apps/plugins/zxbox.c b/apps/plugins/zxbox.c index 61d9eea4ac..14f8b0911b 100644 --- a/apps/plugins/zxbox.c +++ b/apps/plugins/zxbox.c @@ -24,7 +24,7 @@ PLUGIN_HEADER /* this is the plugin entry point */ -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { return run_overlay(api, parameter, PLUGIN_APPS_DIR "/zxbox.ovl", "ZXBox"); } diff --git a/apps/plugins/zxbox/spconf.c b/apps/plugins/zxbox/spconf.c index d316ad0fbf..5a14959adc 100644 --- a/apps/plugins/zxbox/spconf.c +++ b/apps/plugins/zxbox/spconf.c @@ -103,7 +103,7 @@ static int find_extension(const char *ext) /* now actually a snapshot/tape loader*/ -void spcf_read_command_line(void* parameter) +void spcf_read_command_line(const void* parameter) { int ix; diff --git a/apps/plugins/zxbox/spconf.h b/apps/plugins/zxbox/spconf.h index b7b89a22f7..7de5d2e857 100644 --- a/apps/plugins/zxbox/spconf.h +++ b/apps/plugins/zxbox/spconf.h @@ -31,7 +31,7 @@ extern int spcf_init_tapefile_type; /*extern int spcf_read_conf_file(const char *filename);*/ -extern void spcf_read_command_line(void* parameter); +extern void spcf_read_command_line(const void* parameter); extern void spcf_read_xresources(void); extern int spcf_find_file_type(char *filename, int *ftp, int *ftsubp); diff --git a/apps/plugins/zxbox/spmain.c b/apps/plugins/zxbox/spmain.c index 51344763f9..136dcf0f24 100644 --- a/apps/plugins/zxbox/spmain.c +++ b/apps/plugins/zxbox/spmain.c @@ -519,17 +519,17 @@ static void run_singlemode(void) } -void check_params(void* parameter) +void check_params(const void* parameter) { spcf_read_conf_file(GLOBALCFG); spcf_read_command_line(parameter); } -static void init_load(void *parameter) +static void init_load(const void *parameter) { if(load_immed) snsh_z80_load_intern(loadim, loadim_size); - check_params (parameter); + check_params(parameter); if(spcf_init_snapshot != NULL) { #ifndef USE_GREY rb->splash(HZ, "Loading snapshot '%s'", spcf_init_snapshot); @@ -548,7 +548,7 @@ static void init_load(void *parameter) } } -void start_spectemu(void *parameter) +void start_spectemu(const void *parameter) { spti_init(); init_load(parameter); diff --git a/apps/plugins/zxbox/spmain.h b/apps/plugins/zxbox/spmain.h index 8168b261f6..5fb926ece9 100644 --- a/apps/plugins/zxbox/spmain.h +++ b/apps/plugins/zxbox/spmain.h @@ -21,8 +21,8 @@ #ifndef SPMAIN_H #define SPMAIN_H -extern void check_params(void* parameter); -extern void start_spectemu(void* parameter); +extern void check_params(const void* parameter); +extern void start_spectemu(const void* parameter); extern struct zxbox_settings settings; struct zxbox_settings { int invert_colors; diff --git a/apps/plugins/zxbox/zxbox.c b/apps/plugins/zxbox/zxbox.c index 3d94981ce5..873ecdf6c3 100644 --- a/apps/plugins/zxbox/zxbox.c +++ b/apps/plugins/zxbox/zxbox.c @@ -22,7 +22,7 @@ PLUGIN_HEADER PLUGIN_IRAM_DECLARE -struct plugin_api* rb; +const struct plugin_api* rb; #include "spkey_p.h" @@ -59,7 +59,7 @@ static size_t gbuf_size = 0; long video_frames IBSS_ATTR = 0 ; long start_time IBSS_ATTR = 0; -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) +enum plugin_status plugin_start(const struct plugin_api* api, const void* parameter) { PLUGIN_IRAM_INIT(api) diff --git a/apps/plugins/zxbox/zxconfig.h b/apps/plugins/zxbox/zxconfig.h index f83c091ab9..d0a6c5a7ea 100644 --- a/apps/plugins/zxbox/zxconfig.h +++ b/apps/plugins/zxbox/zxconfig.h @@ -5,7 +5,7 @@ extern int load_tap; extern bool clear_kbd; extern bool exit_requested; -extern struct plugin_api* rb; +extern const struct plugin_api* rb; extern void press_key(int c); extern long video_frames; extern long start_time; |