summaryrefslogtreecommitdiff
path: root/apps/plugin.h
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugin.h')
-rw-r--r--apps/plugin.h50
1 files changed, 25 insertions, 25 deletions
diff --git a/apps/plugin.h b/apps/plugin.h
index 1a87ab6cb6..e36c99c5fd 100644
--- a/apps/plugin.h
+++ b/apps/plugin.h
@@ -112,12 +112,12 @@
112#define PLUGIN_MAGIC 0x526F634B /* RocK */ 112#define PLUGIN_MAGIC 0x526F634B /* RocK */
113 113
114/* increase this every time the api struct changes */ 114/* increase this every time the api struct changes */
115#define PLUGIN_API_VERSION 82 115#define PLUGIN_API_VERSION 83
116 116
117/* update this to latest version if a change to the api struct breaks 117/* update this to latest version if a change to the api struct breaks
118 backwards compatibility (and please take the opportunity to sort in any 118 backwards compatibility (and please take the opportunity to sort in any
119 new function which are "waiting" at the end of the function table) */ 119 new function which are "waiting" at the end of the function table) */
120#define PLUGIN_MIN_API_VERSION 82 120#define PLUGIN_MIN_API_VERSION 83
121 121
122/* plugin return codes */ 122/* plugin return codes */
123enum plugin_status { 123enum plugin_status {
@@ -219,6 +219,7 @@ struct plugin_api {
219 /* remote lcd */ 219 /* remote lcd */
220 void (*lcd_remote_set_contrast)(int x); 220 void (*lcd_remote_set_contrast)(int x);
221 void (*lcd_remote_clear_display)(void); 221 void (*lcd_remote_clear_display)(void);
222 void (*lcd_remote_setmargins)(int x, int y);
222 void (*lcd_remote_puts)(int x, int y, const unsigned char *string); 223 void (*lcd_remote_puts)(int x, int y, const unsigned char *string);
223 void (*lcd_remote_lcd_puts_scroll)(int x, int y, const unsigned char* string); 224 void (*lcd_remote_lcd_puts_scroll)(int x, int y, const unsigned char* string);
224 void (*lcd_remote_lcd_stop_scroll)(void); 225 void (*lcd_remote_lcd_stop_scroll)(void);
@@ -265,6 +266,10 @@ struct plugin_api {
265 int x, int y, int width, int height); 266 int x, int y, int width, int height);
266#endif 267#endif
267 268
269#if defined(TOSHIBA_GIGABEAT_F) || defined(SANSA_E200)
270 void (*lcd_yuv_set_options)(unsigned options);
271#endif
272
268 /* list */ 273 /* list */
269 void (*gui_synclist_init)(struct gui_synclist * lists, 274 void (*gui_synclist_init)(struct gui_synclist * lists,
270 list_get_name callback_get_item_name,void * data, 275 list_get_name callback_get_item_name,void * data,
@@ -288,6 +293,7 @@ struct plugin_api {
288 long (*button_get_w_tmo)(int ticks); 293 long (*button_get_w_tmo)(int ticks);
289 int (*button_status)(void); 294 int (*button_status)(void);
290 void (*button_clear_queue)(void); 295 void (*button_clear_queue)(void);
296 int (*button_queue_count)(void);
291#ifdef HAS_BUTTON_HOLD 297#ifdef HAS_BUTTON_HOLD
292 bool (*button_hold)(void); 298 bool (*button_hold)(void);
293#endif 299#endif
@@ -334,9 +340,10 @@ struct plugin_api {
334 long (*default_event_handler_ex)(long event, void (*callback)(void *), void *parameter); 340 long (*default_event_handler_ex)(long event, void (*callback)(void *), void *parameter);
335 struct thread_entry* threads; 341 struct thread_entry* threads;
336 struct thread_entry* (*create_thread)(void (*function)(void), void* stack, 342 struct thread_entry* (*create_thread)(void (*function)(void), void* stack,
337 int stack_size, const char *name 343 int stack_size, unsigned flags,
344 const char *name
338 IF_PRIO(, int priority) 345 IF_PRIO(, int priority)
339 IF_COP(, unsigned int core, bool fallback)); 346 IF_COP(, unsigned int core));
340 void (*remove_thread)(struct thread_entry *thread); 347 void (*remove_thread)(struct thread_entry *thread);
341 void (*reset_poweroff_timer)(void); 348 void (*reset_poweroff_timer)(void);
342#ifndef SIMULATOR 349#ifndef SIMULATOR
@@ -359,7 +366,7 @@ struct plugin_api {
359 void (*queue_init)(struct event_queue *q, bool register_queue); 366 void (*queue_init)(struct event_queue *q, bool register_queue);
360 void (*queue_delete)(struct event_queue *q); 367 void (*queue_delete)(struct event_queue *q);
361 void (*queue_post)(struct event_queue *q, long id, intptr_t data); 368 void (*queue_post)(struct event_queue *q, long id, intptr_t data);
362 void (*queue_wait_w_tmo)(struct event_queue *q, struct event *ev, 369 void (*queue_wait_w_tmo)(struct event_queue *q, struct queue_event *ev,
363 int ticks); 370 int ticks);
364 void (*usb_acknowledge)(long id); 371 void (*usb_acknowledge)(long id);
365#ifdef RB_PROFILE 372#ifdef RB_PROFILE
@@ -572,6 +579,13 @@ struct plugin_api {
572#endif 579#endif
573 struct user_settings* global_settings; 580 struct user_settings* global_settings;
574 struct system_status *global_status; 581 struct system_status *global_status;
582 void (*talk_disable_menus)(void);
583 void (*talk_enable_menus)(void);
584#if CONFIG_CODEC == SWCODEC
585 int (*codec_load_file)(const char* codec, struct codec_api *api);
586 const char *(*get_codec_filename)(int cod_spec);
587 bool (*get_metadata)(struct mp3entry* id3, int fd, const char* trackname);
588#endif
575 bool (*mp3info)(struct mp3entry *entry, const char *filename); 589 bool (*mp3info)(struct mp3entry *entry, const char *filename);
576 int (*count_mp3_frames)(int fd, int startpos, int filesize, 590 int (*count_mp3_frames)(int fd, int startpos, int filesize,
577 void (*progressfunc)(int)); 591 void (*progressfunc)(int));
@@ -609,35 +623,21 @@ struct plugin_api {
609 bool (*detect_flashed_ramimage)(void); 623 bool (*detect_flashed_ramimage)(void);
610 bool (*detect_flashed_romimage)(void); 624 bool (*detect_flashed_romimage)(void);
611#endif 625#endif
612 /* new stuff at the end, sort into place next time
613 the API gets incompatible */
614
615#if (CONFIG_CODEC == SWCODEC)
616 void (*spinlock_init)(struct mutex *m);
617 void (*spinlock_lock)(struct mutex *m);
618 void (*spinlock_unlock)(struct mutex *m);
619 626
620 int (*codec_load_file)(const char* codec, struct codec_api *api);
621 const char *(*get_codec_filename)(int cod_spec);
622 bool (*get_metadata)(struct mp3entry* id3, int fd, const char* trackname);
623#endif
624 void (*led)(bool on); 627 void (*led)(bool on);
625 628
626#if defined(TOSHIBA_GIGABEAT_F) || defined(SANSA_E200)
627 void (*lcd_yuv_set_options)(unsigned options);
628#endif
629
630#ifdef CACHE_FUNCTIONS_AS_CALL 629#ifdef CACHE_FUNCTIONS_AS_CALL
631 void (*flush_icache)(void); 630 void (*flush_icache)(void);
632 void (*invalidate_icache)(void); 631 void (*invalidate_icache)(void);
633#endif 632#endif
634 633
635 void (*talk_disable_menus)(void); 634 /* new stuff at the end, sort into place next time
636 void (*talk_enable_menus)(void); 635 the API gets incompatible */
637 636
638 int (*button_queue_count)(void); 637#if (CONFIG_CODEC == SWCODEC)
639#ifdef HAVE_REMOTE_LCD 638 void (*spinlock_init)(struct spinlock *l IF_COP(, unsigned int flags));
640 void (*lcd_remote_setmargins)(int x, int y); 639 void (*spinlock_lock)(struct spinlock *l);
640 void (*spinlock_unlock)(struct spinlock *l);
641#endif 641#endif
642}; 642};
643 643