+unsigned char category_meta_push ( char *catname, char *parentcatname, pnd_disco_t *app, pnd_conf_handle ovrh, unsigned char visiblep, unsigned char parentp ); // parentp is 0 for child, 1 for parent - main, 2 for parent - alt
+
+// filesystem browser
+unsigned char category_fs_restock ( mm_category_t *cat );
+
+// apps within cats
+unsigned char category_contains_app ( char *catname, char *parentcatname, char *unique_id );
+
+// advertising to rest of the system
+//
+extern mm_category_t *g_categories [ MAX_CATS ];
+extern unsigned char g_categorycount;
+#define CFALL 0xFF // filter mask
+#define CFBYNAME 0xFE // filter mask; the name param is used to pick a single category to populate
+void category_publish ( unsigned int filter_mask, char *param ); // populates g_categories and g_categorycount; pass in CFNORMAL or CFHIDDEN or CFALL or whatever
+unsigned int category_count ( unsigned int filter_mask );
+int category_index ( char *catname ); // figure out index in g_categories of named cat