Chapter 7: Flash Application Layout
49
TI
-
89 / TI
-
92 Plus Developer Guide
Not for Distribution
Beta Version January 26, 2001
void folders(void);
void vars(void);
APP_EXTENSION const extensions[] =
➊
{
/* function name #, help string #, function index */
{OO_APPSTRING+H_folders, OO_APPSTRING+H_HELP+H_folders, H_folders },
{OO_APPSTRING+H_vars, OO_APPSTRING+H_HELP+H_vars, H_vars }
};
APP_EXT_ENTRY const extEntries[] =
{
{folders, APP_EXT_FUNCTION},
➋
{vars, APP_EXT_FUNCTION}
};
FRAME(memutilFrame, OO_SYSTEM_FRAME, 0, OO_APP_FLAGS, 10)
ATTR(OO_APP_FLAGS, APP_NONE)
ATTR(OO_APP_NAME, "Memory Utilities")
ATTR(OO_APP_TOK_NAME, "memutil")
➌
ATTR(OO_APP_EXT_COUNT, 2) /* export two extension functions */
ATTR(OO_APP_EXTENSIONS, extensions) /* address of extensions table */
ATTR(OO_APP_EXT_ENTRIES, extEntries) /* address of ext entries table
*/
ATTR(OO_APPSTRING+H_folders, "folders")
ATTR(OO_APPSTRING+H_vars, "vars")
ATTR(OO_APPSTRING+H_HELP+H_folders, "LIST OF FOLDERS")
ATTR(OO_APPSTRING+H_HELP+H_vars, "LIST OF VARIABLES IN FOLDER")
ENDFRAME
pFrame MemutilFrame = (pFrame)&memutilFrame;
➍
void folders(void)
/* Return a list of folders on the estack */
{
SYM_ENTRY *pSym;
static BYTE const HomeFolder[] = {0, 127, 0};
push_quantum (END_TAG);
pSym = SymFindFirst(&HomeFolder[2], FO_NONE);
while (pSym != NULL)
{
push_zstr((char *)pSym->Name);
pSym = SymFindNext();
}
push_quantum (LIST_TAG);
}