![]() |
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 |