-VG_STATIC void addon_mount_local_folder( enum workshop_file_type type,
- const char *base_folder,
- const char *content_ext );
-VG_STATIC void addon_mount_workshop_items(void);
-VG_STATIC void async_addon_reg_update( void *data, u32 size );
+static u32 addon_match( addon_alias *alias );
+static int addon_alias_eq( addon_alias *a, addon_alias *b );
+static void addon_alias_uid( addon_alias *alias, char buf[ADDON_UID_MAX] );
+static int addon_uid_to_alias( char uid[ADDON_UID_MAX], addon_alias *alias );
+static void invalidate_addon_alias( addon_alias *alias );
+static void addon_mount_content_folder( enum addon_type type,
+ const char *base_folder,
+ const char *content_ext );
+static void addon_mount_workshop_items(void);
+static void async_addon_reg_update( void *data, u32 size );
+static addon_reg *addon_mount_local_addon( const char *folder,
+ enum addon_type type,
+ const char *content_ext );
+static u16 addon_cache_fetch( enum addon_type type, u32 reg_index );
+static u16 addon_cache_alloc( enum addon_type type, u32 reg_index );
+static void *addon_cache_item( enum addon_type type, u16 id );
+static void *addon_cache_item_if_loaded( enum addon_type type, u16 id );
+static void async_addon_setstate( void *data, u32 size );
+static void addon_cache_load_loop(void);
+static u16 addon_cache_create_viewer( enum addon_type type, u16 reg_id);
+
+static void addon_cache_watch( enum addon_type type, u16 cache_id );
+static void addon_cache_unwatch( enum addon_type type, u16 cache_id );
+static u16 addon_cache_create_viewer_from_uid( enum addon_type type,
+ char uid[ADDON_UID_MAX] );