1;; -----------------------------------------------------------------------
2;;
3;;   Copyright 1994-2008 H. Peter Anvin - All Rights Reserved
4;;
5;;   This program is free software; you can redistribute it and/or modify
6;;   it under the terms of the GNU General Public License as published by
7;;   the Free Software Foundation, Inc., 53 Temple Place Ste 330,
8;;   Boston MA 02111-1307, USA; either version 2 of the License, or
9;;   (at your option) any later version; incorporated herein by reference.
10;;
11;; -----------------------------------------------------------------------
12
13;;
14;; keywords.inc
15;;
16;; Common header file for the handling of keyword hash and macros
17;;
18
19%ifndef DEPEND		; Generated file
20%include "kwdhash.gen"
21%endif
22
23%macro keyword 2
24	dd hash_%1	; Hash value
25	dw 0		; No argument
26	dw %2		; Entrypoint
27%endmacro
28
29%macro keyword 3
30	dd hash_%1	; Hash value
31	dw %3		; 16-bit argument
32	dw %2		; Entrypoint
33%endmacro
34
35%macro keyword 4
36	dd hash_%1	; Hash value
37	db %3, %4	; 2 8-bit arguments
38	dw %2		; Entrypoint
39%endmacro
40
41keywd_size	equ 8	; Bytes per keyword
42
43		alignz 4
44
45%define FKeyN(n) (FKeyName+(((n)-1) << FILENAME_MAX_LG2))
46
47keywd_table:
48		keyword menu,		pc_comment
49		keyword text,		pc_text
50		keyword include,	pc_opencmd,	pc_include
51		keyword append,		pc_append
52		keyword initrd,		pc_filename,	InitRD
53		keyword default,	pc_default,	1
54		keyword ui,		pc_default,	2
55		keyword display,	pc_opencmd,	get_msg_file
56		keyword font,		pc_opencmd,	loadfont
57		keyword implicit,	pc_setint16,	AllowImplicit
58		keyword kbdmap,		pc_opencmd,	loadkeys
59		keyword kernel,		pc_kernel,	VK_KERNEL
60		keyword linux,		pc_kernel,	VK_LINUX
61		keyword boot,		pc_kernel,	VK_BOOT
62		keyword bss,		pc_kernel,	VK_BSS
63		keyword pxe,		pc_kernel,	VK_PXE
64		keyword fdimage,	pc_kernel,	VK_FDIMAGE
65		keyword comboot,	pc_kernel,	VK_COMBOOT
66		keyword com32,		pc_kernel,	VK_COM32
67		keyword config,		pc_kernel,	VK_CONFIG
68		keyword label,		pc_label
69		keyword prompt,		pc_setint16,	ForcePrompt
70		keyword say,		pc_say
71		keyword serial,		pc_serial
72		keyword console,	pc_setint16,	DisplayCon
73		keyword timeout,	pc_timeout,	KbdTimeout
74		keyword totaltimeout,	pc_timeout,	TotalTimeout
75		keyword ontimeout,	pc_ontimeout
76		keyword onerror,	pc_onerror
77		keyword allowoptions,	pc_setint16,	AllowOptions
78		keyword noescape,	pc_setint16,	NoEscape
79		keyword nocomplete,	pc_setint16,	NoComplete
80		keyword nohalt,		pc_setint16,	NoHalt
81		keyword pxeretry,	pc_setint16,	PXERetry
82		keyword f1,		pc_filename,	FKeyN(1)
83		keyword f2,		pc_filename,	FKeyN(2)
84		keyword f3,		pc_filename,	FKeyN(3)
85		keyword f4,		pc_filename,	FKeyN(4)
86		keyword f5,		pc_filename,	FKeyN(5)
87		keyword f6,		pc_filename,	FKeyN(6)
88		keyword f7,		pc_filename,	FKeyN(7)
89		keyword f8,		pc_filename,	FKeyN(8)
90		keyword f9,		pc_filename,	FKeyN(9)
91		keyword f10,		pc_filename,	FKeyN(10)
92		keyword f0,		pc_filename,	FKeyN(10)
93		keyword f11,		pc_filename,	FKeyN(11)
94		keyword f12,		pc_filename,	FKeyN(12)
95		keyword ipappend,	pc_sysappend
96		keyword sysappend,	pc_sysappend
97		keyword localboot,	pc_localboot
98%if IS_PXELINUX
99		keyword sendcookies,	pc_sendcookies
100%endif
101
102keywd_count	equ ($-keywd_table)/keywd_size
103