AMI BIOS——VFR编程语言
·
一、INTRODUCTION
Internal Forms Representation(IFR)是一种二进制编码,这种编码被设计的相对容易解析和以编程的方式操作。为了简化IFR的生成,一种高可视化的表单表示语言(VFR)产生。使用这种语言编译器可以将包含VFR的普通文本文件作为输入,输出IFR文件。接下来,介绍一种BNF风格的方法。
formset & endformset:表单集,有且仅有一个,构成了界面的主体,其它的界面组件在它的内部。例如可以将BIOS setup所有的页面放在一个表单集中
formset guid = SETUP_FORM_SET_GUID
title = STRING_TOKEN(STR_SETUP),
help = STRING_TOKEN(STR_SETUP_HELP),
class = SETUP_FORM_SET_CLASS,
subclass = 0,
...
endformset
form & endform表单:包含在表单集中,可以将setup的一个页面作为一个表单
form formid = AUTO_ID(ADVANCED_MAIN),
title = STRING_TOKEN(STRING_ADVANCED);
...
endform;
varstore:用于定义设置选项将引用的变量,varstore语法需要放在formset和form之间
goto :用于转到另一个表单页面,就像超链接一样
subtitle:
text:
checkbox & endcheckbox :用于创建一个复选框,让用户选择是或否,需要将其置于表单和结束表单之间
checkbox varid = AMITSESETUP.AMISilentBoot,\
prompt = STRING_TOKEN(STR_QUIET_BOOT),\
flags = 0,\
key = 0,\
default = DEFAULT_QUIET_BOOT,\
default = DEFAULT_QUIET_BOOT, defaultstore = AmiFmgDefault,\
endcheckbox;
其中,varid:此复选框引用的变量
prompt:复选框的名称
help:
flags:这个问题的默认值,1为打开 0为关闭
oneof & endoneof:用于创建具有更多选择的选项
oneof varid = BOOT_ORDER.Value,
prompt = STRING_TOKEN(STR_BOOT_ORDER_X),
help = STRING_TOKEN(STR_BOOT_ORDER_HELP),
flags = 0,
option text = STRING_TOKEN(STR_EMPTY), value=0, flags=0;
option text = STRING_TOKEN(STR_EMPTY), value=1, flags=0;
default = 0,
default = 0, defaultstore = AmiMfgDefault,
endoneof;
grayoutif & suppressif:用于iterm的变灰不可须以及是否隐藏,ideqval:如果变量的值等于某个值,则表示变灰或者隐藏。
suppressif ideqval SERVER_MGMT_CONFIGURATION_DATA.BmcSupport == 0;
grayoutif ideqval SYSTEM_ACCESS.Access == SYSTEM_PASSWORD_USER;
numeric $ endnumeric:用于创建用户允许用户输入数字的字段,也就是说可以设置数字,不过最多不大于65535
numeric varid = TIMEOUT.Value,
prompt = STRING_TOKEN(STR_BOOT_TIMEOUT),
help = STRING_TOKEN(STR_BOOT_TIMEOUT_HELP),
minimum = 0x1,
maximum = 0xffff,
step = 1,
default = DEFAULT_BOOT_TIMEOUT,
endnumeric;
Definitions:
prompt: Name string for this question.
help: help string for this question.
minimum: minimum number of this question.问题的最小值
maximum: maximum number of this question.问题的最大值
step: step for this question.
default: default value.
password & endpassword:用于为输入密码创建字段
password varid = AMITSESETUP.AdminPassword,
prompt = STRING_TOKEN(STR_ADMIN_PASSWORD),
help = STRING_TOKEN(STR_ADMIN_PASSWORD_HELP),
flags = 0,
minsize = 0,
maxsize = PASSWORD_MAX_SIZE,
encoding = 1,
endpassword;
Definitions:
minsize: minimum length for the password. 密码的最小长度
maxsize: maximum length for the password. 密码的最大长度
encoding: encoding or not, 1 = enable encoding.
更多推荐
所有评论(0)