С опцией получится еще проще
typedef
struct _menuItem {
char flash *itemText;
void (*itemFunction)(char);
char itemArg;
}
MenuItem;
static MenuItem __flash
MenuItems[] = {
"Set device ", SetType, 0,
"Read device ", 0, 0,
"Program device ", 0, 0,
"Insert ", Edit, INSERT_BUFFER,
"Edit buffer ", Edit, EDIT_BUFFER,
"Clear buffer ", Edit, CLEAR_BUFFER,
"Append ", Edit, APPEND_BUFFER,
"Run ", Run, 0,
"Stop ", Stop, 0
};