Lua
加载 Lua 模块
insmod lua
进入 Lua 交互编程模式
在控制台中输入 lua
执行 Lua 脚本
lua /path/to/script.lua
grub 函数库
-
grub.run (
stringcommand)执行 GRUB 命令,若执行成功,则返回零,否则返回非零值。
-
grub.script (
stringscript)执行一行 GRUB 脚本,若脚本执行成功则返回零。
-
grub.getenv (
stringvariable)获取 GRUB 环境变量的值,若环境变量存在,则返回变量的值,否则,返回
nil。 -
grub.setenv (
stringvariable,stringvalue)设置 GRUB 环境变量的值。第一个参数为变量名,第二个参数为变量内容。
-
grub.exportenv (
stringvariable[,stringvalue])设置 GRUB 全局环境变量的值。第一个参数为变量名,第二个参数可选,为变量内容。
-
grub.enum_device (
function(stringdevice[,stringfs,stringuuid,stringlabel,stringsize]))枚举 GRUB 的磁盘设备。
参数为枚举执行的函数,可获取设备名,文件系统,UUID 和卷标。
-
grub.enum_file (
function(stringfilename[,intisdir]),stringpath)枚举某目录下的文件和文件夹 (包括
.和..) -
userdatafile = grub.file_open (stringfilename[,stringflag])打开文件,返回值为
userdata类型的文件句柄。第一个参数是文件名。第二个参数为打开方式,若为 “w” 则以可写模式打开。
-
grub.file_close (
userdatafile)关闭文件。
-
grub.file_seek (
userdatafile,integeroffset)设置文件句柄读写的位置偏移,返回值为偏移量。
-
grub.file_read (
userdatafile,integerlength)读取文件,长度为 “length”,返回文件内容。
-
grub.file_write (
userdatafile,stringdata)将字符串 “data” 写入文件。
-
grub.file_getline (
userdatafile)从文件读取一行文本,返回值为该文本。
-
grub.file_getsize (
userdatafile)返回文件大小。
-
grub.file_getpos (
userdatafile)返回文件当前偏移量。
-
grub.file_eof (
userdatafile)判断文件是否已读到末尾。
-
grub.file_exist (
stringfilename)判断文件是否存在。
-
stringbuf,stringhex = grub.hexdump (userdatafile,integerskip,integerlength)获取文件指定位置的十六进制数据。
-
grub.add_menu (
stringsource,stringtitle[, …])添加菜单项,菜单内容为 “source”,标题为 “title”。
-
grub.add_icon_menu (
stringicon,stringsource,stringtitle[, …])添加带图标 (–class) 的菜单项。
-
grub.add_hidden_menu (
stringhotkey,stringsource,stringtitle[, …])添加隐藏菜单项,热键为 “hotkey”。
-
grub.clear_menu (
nil)清空菜单。
-
grub.cls (
nil)清屏。
-
grub.setcolorstate (
integerstate) -
grub.refresh (
nil)执行
grub_refresh函数 -
stringtext = grub.gettext (stringsrc)翻译字符串。
-
integerrand = grub.random (integerm)返回一个小于 “m” 的随机数。
-
grub.enum_block (
function(stringblock)[,intpart_start])枚举文件的块列表,形式为 sector+size。若存在
part_start参数,则扇区号基于分区起始扇区计算。
ini 函数库
-
userdatainifile = ini.load (stringfilename)加载 ini 配置文件。
-
ini.free (
userdatainifile)释放 ini 配置文件。
-
stringini.get (userdatainifile, [stringsection, ]stringkey)从 ini 中读取配置项。
input 函数库
-
integerascii_code,integerscan_code = input.getkey (nil)等待用户按键,返回 ASCII 码和扫描码。
-
integerascii_code,integerscan_code = input.getkey_noblock (nil)返回 ASCII 码和扫描码 (在循环中使用)。
-
stringline = input.read (nil)等待用户输入一行字符串。
video 函数库
-
video.swap_buffers (
nil) -
video.fill_rect (
tablecolor{integerr,integerg,integerb,integera},integerx,integery,integerw,integerh)在指定位置绘制矩形。
-
video.draw_string (
stringtext,stringfont,tablecolor{integerr,integerg,integerb,integera},integerx,integery)在指定位置显示字符串。
-
stringvideo_mode = video.info (nil)获取图像模式列表。
-
video.draw_pixel (
tablecolor{integerr,integerg,integerb,integera},integerx,integery)在指定位置画一个像素点。
-
integerx,integery = video.get_info (nil)获取当前显示模式的宽度和高度。
-
userdatabitmap = video.bitmap_load (stringfilename)加载图像文件 (支持 bmp, jpg, jpeg, png, tga)。
-
video.bitmap_close (
userdatabitmap)关闭图像文件。
-
integerx,integery = video.bitmap_info (userdatabitmap)获取图像的宽度和高度。
-
video.bitmap_blit (
userdatabitmap,integerx,integery,integeroffset_x,integeroffset_y,integerw,integerh)在指定位置显示图像。
-
userdatascaled_bitmap = video.bitmap_rescale (userdatabitmap,integerw,integerh)缩放指定图像。
gbk 函数库
-
stringgbk_str = gbk.fromutf8 (stringutf8_str)将 UTF-8 字符串转换为 GBK 编码字符串。
-
stringutf8_str = gbk.toutf8 (stringgbk_str)将 GBK 编码字符串转换为 UTF-8 字符串。
-
stringutf8_simp = gbk.tosimp (stringutf8_trad)将 UTF-8 繁体中文字符串转换为 UTF-8 简体中文字符串。
disk 函数库
-
userdatadev = disk.open (stringdiskname)打开磁盘,返回值为
userdata类型的磁盘句柄。 -
disk.close (
userdatadev)关闭磁盘。
-
stringbuf = disk.read (userdatadev,integersector,integeroffset,integerlength)读取磁盘指定扇区/偏移的数据,返回字符串。
-
disk.write (
userdatadev,integersector,integeroffset,integerlength,stringbuf)写入磁盘。
-
stringpartmap = disk.partmap (userdatadev)获取分区表名称。
-
stringdriver = disk.driver (userdatadev)获取磁盘驱动名。
-
stringfs = disk.fs (userdatadev)获取文件系统名。
-
stringuuid = disk.fsuuid (userdatadev)获取文件系统 UUID。
-
stringlabel = disk.label (userdatadev)获取磁盘卷标。
-
stringsize = disk.size (userdatadev[, flag])获取磁盘大小。
-
booleanboot = disk.bootable (userdatadev)判断分区是否有可启动标识。
fatfs 函数库
- fat.mount
- fat.umount
- fat.disk_status
- fat.get_label
- fat.set_label
- fat.mkdir
- fat.rename
- fat.unlink
- fat.open
- fat.close
- fat.read
- fat.write
- fat.lseek
- fat.tell
- fat.eof
- fat.size
- fat.truncate
memrw 函数库
-
integervalue = memrw.read_byte (integeraddr)从内存地址读取一个字节数据。
-
integervalue = memrw.read_word (integeraddr)从内存地址读取双字节数据。
-
integervalue = memrw.read_dword (integeraddr)从内存地址读取双字数据。
-
memrw.write_byte (
integeraddr,integervalue)向内存地址写入一个字节数据。
-
memrw.write_word (
integeraddr,integervalue)向内存地址写入双字节数据。
-
memrw.write_dword (
integeraddr,integervalue)向内存地址写入双字数据。