www.riscos.com Technical Support: |
|
Two star commands are supported:
*FrontEnd_Start -app <application name> -desc <description_filename> *FrontEnd_SetUp -app <application_name> -desc <description_filename> -task <task-id_of_caller> -handle <app-specific_handle> -toolflags <filename>
The application specific handle can be used by the caller to identify return messages, if many *FrontEnd_SetUp commands have been made.
The following is an EBNF grammar for an application description:
Note: Blank lines and characters following # (up to newline) are ignored.
APPLICATION ::= TOOLDETAILS [METAOPTIONS] [FILEOUTPUT] [DBOX] [MENU] [DESELECTIONS] [EXCLUSIONS] [MAKE_EXCLUSIONS] [ORDER] [MAKE_ORDER] <EOF> TOOLDETAILS ::= tool_details_start name <string> ";" [command_is <string>;] version <number_and_optional_date> ";" [filetype &<3digit_hexnumber> ";"] [wimpslot <integer>k ";"] [has_extended_cmdline ";"] tool_details_end METAOPTIONS ::= metaoptions_start [has_auto_run [on] ";"] [has_auto_save [on] {"^."}[<string>][leafname] [<string>] from icn <integer> ";"] [has_text_window ";"] [has_summary_window ";"] [display_dft_is text|summary ";"] metaoptions_end FILEOUTPUT ::= fileoutput_start [output_option_is <string> ";"] [output_dft_string <string> ";"] [output_dft_is (produces_output| produces_no_output) ";"] fileoutput_end DBOX ::= dbox_start ICONS [ICONDEFAULTS] [IMPORTS] dbox_end MENU ::= menu_start MENULIST [MENUDEFAULTS] menu_end #-------------------------------------------------------- MENULIST ::= { MENUENTRY } MENUENTRY ::= <string> maps_to <string> [sub_menu <string> <integer> [prefix_by <string>]] [produces_no_output| produces_output] [not_saved] ";" MENUDEFAULTS ::= defaults menu <integer> on | off [sub_menu <string> | <integer> { "," menu <integer> on | off [sub_menu <string> | <integer> } ";" [make_defaults menu <integer> on | off [sub_menu <string> | <integer> { "," menu <integer> on | off [sub_menu <string> | <integer> } ";" ] #-------------------------------------------------------- ICONLIST ::= icn <integer> { "," icn <integer> } ENTRYLIST ::= menu <integer> { "," menu <integer> } ICON_ENTRYLIS::= menu|icn <integer> { "," menu|icn <integer> } #-------------------------------------------------------- ICONS ::= icons_start ICONDEFLIST icons_end ICONDEFLIST ::= { ICONDEF } ICONDEF ::= icn <integer> ( maps_to ([<string>] [CONVERSION]) [prefix_by <string>] [followed_by [spaces] OPTLIST] [separator_is <string>] [produces_no_output |produces_output] [not_saved] ) | (increases|decreases icn <integer> [by] <integer> [max <integer>] [min <integer>] ) | inserts <string> ";" | extends from icn <integer> to icn <integer> ";" OPTLIST ::= OPTENTRY { "," OPTENTRY } OPTENTRY ::= icn <integer> CONVERSION ::= string|number ICONDEFAULTS ::= defaults icn <integer> on | off | <string> | <integer> { "," icn <integer> on | off <string> | <integer> } ";" [make_defaults icn <integer> on | off | <string> | <integer> { "," icn <integer> on | off <string> | <integer> } ";" ] #-------------------------------------------------------- DESELECTIONS ::= deselections_start DESELECTIONLIST deselections_end DESELECTIONLIST::={ DESELECT } DESELECT ::= icn <integer> deselects ICON_ENTRYLIST ";" | menu <integer> deselects ICON_ENTRYLIST ";" #-------------------------------------------------------- EXCLUSIONS ::= exclusions_start EXCLUSIONLIST exclusions_end EXCLUSIONLIST ::= { EXCLUDE } EXCLUDE ::= icn <integer> excludes ICON_ENTRYLIST ";" | menu <integer> excludes ICON_ENTRYLIST ";" #-------------------------------------------------------- MAKE_EXLUSIONS ::= make_excludes ICON_ENTRYLIST ";" ORDER ::= order_is (menu|icn <integer>) | <string> | output { "," (menu|icn <integer>) | <string> | output} ";" MAKE_ORDER ::= make_order_is (menu|icn <integer>) | <string> | output { "," (menu|icn <integer>) | <string> | output} ";" #-------------------------------------------------------- IMPORTS ::= imports_start [wild_card_is <string> ";"] IMPORTLIST imports_end IMPORTLIST ::= { IMPORT } IMPORT ::= drag_to (icn <integer>|any|iconbar) inserts ICONLIST [separator_is <string>] ";"
When an application like Make does a *FrontEnd_SetUp command, the FrontEnd module replies to that application when the user has chosen his options with a WIMP message of the format:
Byte offset | Contents |
---|---|
+16 | reason code 0x81400 |
+20 | handle which was passed to *FrontEnd_SetUp |
+24 to +36 | application name |
+36 ... | null-terminated command-line options |