~hamo/ubuntu/precise/grub2/grub2.hi_res

« back to all changes in this revision

Viewing changes to debian/grub-extras/lua/lua.h

  • Committer: Bazaar Package Importer
  • Author(s): Colin Watson, Colin Watson, Evan Broder, Mario Limonciello
  • Date: 2010-11-24 13:59:55 UTC
  • mfrom: (1.17.6 upstream) (17.6.15 experimental)
  • Revision ID: james.westby@ubuntu.com-20101124135955-r6ii5sepayr7jt53
Tags: 1.99~20101124-1ubuntu1
[ Colin Watson ]
* Resynchronise with Debian experimental.  Remaining changes:
  - Adjust for default Ubuntu boot options ("quiet splash").
  - Default to hiding the menu; holding down Shift at boot will show it.
  - Set a monochromatic theme for Ubuntu.
  - Apply Ubuntu GRUB Legacy changes to legacy update-grub script: title,
    recovery mode, quiet option, tweak how memtest86+ is displayed, and
    use UUIDs where appropriate.
  - Fix backslash-escaping in merge_debconf_into_conf.
  - Remove "GNU/Linux" from default distributor string.
  - Add crashkernel= options if kdump and makedumpfile are available.
  - If other operating systems are installed, then automatically unhide
    the menu.  Otherwise, if GRUB_HIDDEN_TIMEOUT is 0, then use keystatus
    if available to check whether Shift is pressed.  If it is, show the
    menu, otherwise boot immediately.  If keystatus is not available, then
    fall back to a short delay interruptible with Escape.
  - Allow Shift to interrupt 'sleep --interruptible'.
  - Don't display introductory message about line editing unless we're
    actually offering a shell prompt.  Don't clear the screen just before
    booting if we never drew the menu in the first place.
  - Remove some verbose messages printed before reading the configuration
    file.
  - Suppress progress messages as the kernel and initrd load for
    non-recovery kernel menu entries.
  - Change prepare_grub_to_access_device to handle filesystems
    loop-mounted on file images.
  - Ignore devices loop-mounted from files in 10_linux.
  - Show the boot menu if the previous boot failed, that is if it failed
    to get to the end of one of the normal runlevels.
  - Don't generate /boot/grub/device.map during grub-install or
    grub-mkconfig by default.
  - Adjust upgrade version checks for Ubuntu.
  - Don't display "GRUB loading" unless Shift is held down.
  - Adjust versions of grub-doc and grub-legacy-doc conflicts to tolerate
    our backport of the grub-doc split.
  - Fix LVM/RAID probing in the absence of /boot/grub/device.map.
  - Look for .mo files in /usr/share/locale-langpack as well, in
    preference.
  - Make sure GRUB_TIMEOUT isn't quoted unnecessarily.
  - Probe all devices in 'grub-probe --target=drive' if
    /boot/grub/device.map is missing.
  - Build-depend on qemu-kvm rather than qemu-system for grub-pc tests.
  - Use qemu rather than qemu-system-i386.
  - Program vesafb on BIOS systems rather than efifb.
  - Add a grub-rescue-efi-amd64 package containing a rescue CD-ROM image
    for EFI-AMD64.
  - On Wubi, don't ask for an install device, but just update wubildr
    using the diverted grub-install.
  - When embedding the core image in a post-MBR gap, check for and avoid
    sectors matching any of a list of known signatures.
  - Disable video_bochs and video_cirrus on PC BIOS systems, as probing
    PCI space seems to break on some systems.
* Downgrade "ACPI shutdown failed" error to a debug message, since it can
  cause spurious test failures.

[ Evan Broder ]
* Enable lua from grub-extras.
* Incorporate the bitop library into lua.
* Add enum_pci function to grub module in lua.
* Switch back to gfxpayload=keep by default, unless the video hardware
  is known to not support it.

[ Mario Limonciello ]
* Built part_msdos and vfat into bootx64.efi (LP: #677758)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
** $Id: lua.h,v 1.218.1.5 2008/08/06 13:30:12 roberto Exp $
 
3
** Lua - An Extensible Extension Language
 
4
** Lua.org, PUC-Rio, Brazil (http://www.lua.org)
 
5
** See Copyright Notice at the end of this file
 
6
*/
 
7
 
 
8
 
 
9
#ifndef lua_h
 
10
#define lua_h
 
11
 
 
12
#include <stdarg.h>
 
13
#include <stddef.h>
 
14
 
 
15
 
 
16
#include "luaconf.h"
 
17
 
 
18
 
 
19
#define LUA_VERSION     "Lua 5.1"
 
20
#define LUA_RELEASE     "Lua 5.1.4"
 
21
#define LUA_VERSION_NUM 501
 
22
#define LUA_COPYRIGHT   "Copyright (C) 1994-2008 Lua.org, PUC-Rio"
 
23
#define LUA_AUTHORS     "R. Ierusalimschy, L. H. de Figueiredo & W. Celes"
 
24
 
 
25
 
 
26
/* mark for precompiled code (`<esc>Lua') */
 
27
#define LUA_SIGNATURE   "\033Lua"
 
28
 
 
29
/* option for multiple returns in `lua_pcall' and `lua_call' */
 
30
#define LUA_MULTRET     (-1)
 
31
 
 
32
 
 
33
/*
 
34
** pseudo-indices
 
35
*/
 
36
#define LUA_REGISTRYINDEX       (-10000)
 
37
#define LUA_ENVIRONINDEX        (-10001)
 
38
#define LUA_GLOBALSINDEX        (-10002)
 
39
#define lua_upvalueindex(i)     (LUA_GLOBALSINDEX-(i))
 
40
 
 
41
 
 
42
/* thread status; 0 is OK */
 
43
#define LUA_YIELD       1
 
44
#define LUA_ERRRUN      2
 
45
#define LUA_ERRSYNTAX   3
 
46
#define LUA_ERRMEM      4
 
47
#define LUA_ERRERR      5
 
48
 
 
49
 
 
50
typedef struct lua_State lua_State;
 
51
 
 
52
typedef int (*lua_CFunction) (lua_State *L);
 
53
 
 
54
 
 
55
/*
 
56
** functions that read/write blocks when loading/dumping Lua chunks
 
57
*/
 
58
typedef const char * (*lua_Reader) (lua_State *L, void *ud, size_t *sz);
 
59
 
 
60
typedef int (*lua_Writer) (lua_State *L, const void* p, size_t sz, void* ud);
 
61
 
 
62
 
 
63
/*
 
64
** prototype for memory-allocation functions
 
65
*/
 
66
typedef void * (*lua_Alloc) (void *ud, void *ptr, size_t osize, size_t nsize);
 
67
 
 
68
 
 
69
/*
 
70
** basic types
 
71
*/
 
72
#define LUA_TNONE               (-1)
 
73
 
 
74
#define LUA_TNIL                0
 
75
#define LUA_TBOOLEAN            1
 
76
#define LUA_TLIGHTUSERDATA      2
 
77
#define LUA_TNUMBER             3
 
78
#define LUA_TSTRING             4
 
79
#define LUA_TTABLE              5
 
80
#define LUA_TFUNCTION           6
 
81
#define LUA_TUSERDATA           7
 
82
#define LUA_TTHREAD             8
 
83
 
 
84
 
 
85
 
 
86
/* minimum Lua stack available to a C function */
 
87
#define LUA_MINSTACK    20
 
88
 
 
89
 
 
90
/*
 
91
** generic extra include file
 
92
*/
 
93
#if defined(LUA_USER_H)
 
94
#include LUA_USER_H
 
95
#endif
 
96
 
 
97
 
 
98
/* type of numbers in Lua */
 
99
typedef LUA_NUMBER lua_Number;
 
100
 
 
101
 
 
102
/* type for integer functions */
 
103
typedef LUA_INTEGER lua_Integer;
 
104
 
 
105
 
 
106
 
 
107
/*
 
108
** state manipulation
 
109
*/
 
110
LUA_API lua_State *(lua_newstate) (lua_Alloc f, void *ud);
 
111
LUA_API void       (lua_close) (lua_State *L);
 
112
LUA_API lua_State *(lua_newthread) (lua_State *L);
 
113
 
 
114
LUA_API lua_CFunction (lua_atpanic) (lua_State *L, lua_CFunction panicf);
 
115
 
 
116
 
 
117
/*
 
118
** basic stack manipulation
 
119
*/
 
120
LUA_API int   (lua_gettop) (lua_State *L);
 
121
LUA_API void  (lua_settop) (lua_State *L, int idx);
 
122
LUA_API void  (lua_pushvalue) (lua_State *L, int idx);
 
123
LUA_API void  (lua_remove) (lua_State *L, int idx);
 
124
LUA_API void  (lua_insert) (lua_State *L, int idx);
 
125
LUA_API void  (lua_replace) (lua_State *L, int idx);
 
126
LUA_API int   (lua_checkstack) (lua_State *L, int sz);
 
127
 
 
128
LUA_API void  (lua_xmove) (lua_State *from, lua_State *to, int n);
 
129
 
 
130
 
 
131
/*
 
132
** access functions (stack -> C)
 
133
*/
 
134
 
 
135
LUA_API int             (lua_isnumber) (lua_State *L, int idx);
 
136
LUA_API int             (lua_isstring) (lua_State *L, int idx);
 
137
LUA_API int             (lua_iscfunction) (lua_State *L, int idx);
 
138
LUA_API int             (lua_isuserdata) (lua_State *L, int idx);
 
139
LUA_API int             (lua_type) (lua_State *L, int idx);
 
140
LUA_API const char     *(lua_typename) (lua_State *L, int tp);
 
141
 
 
142
LUA_API int            (lua_equal) (lua_State *L, int idx1, int idx2);
 
143
LUA_API int            (lua_rawequal) (lua_State *L, int idx1, int idx2);
 
144
LUA_API int            (lua_lessthan) (lua_State *L, int idx1, int idx2);
 
145
 
 
146
LUA_API lua_Number      (lua_tonumber) (lua_State *L, int idx);
 
147
LUA_API lua_Integer     (lua_tointeger) (lua_State *L, int idx);
 
148
LUA_API int             (lua_toboolean) (lua_State *L, int idx);
 
149
LUA_API const char     *(lua_tolstring) (lua_State *L, int idx, size_t *len);
 
150
LUA_API size_t          (lua_objlen) (lua_State *L, int idx);
 
151
LUA_API lua_CFunction   (lua_tocfunction) (lua_State *L, int idx);
 
152
LUA_API void           *(lua_touserdata) (lua_State *L, int idx);
 
153
LUA_API lua_State      *(lua_tothread) (lua_State *L, int idx);
 
154
LUA_API const void     *(lua_topointer) (lua_State *L, int idx);
 
155
 
 
156
 
 
157
/*
 
158
** push functions (C -> stack)
 
159
*/
 
160
LUA_API void  (lua_pushnil) (lua_State *L);
 
161
LUA_API void  (lua_pushnumber) (lua_State *L, lua_Number n);
 
162
LUA_API void  (lua_pushinteger) (lua_State *L, lua_Integer n);
 
163
LUA_API void  (lua_pushlstring) (lua_State *L, const char *s, size_t l);
 
164
LUA_API void  (lua_pushstring) (lua_State *L, const char *s);
 
165
LUA_API const char *(lua_pushvfstring) (lua_State *L, const char *fmt,
 
166
                                                      va_list argp);
 
167
LUA_API const char *(lua_pushfstring) (lua_State *L, const char *fmt, ...);
 
168
LUA_API void  (lua_pushcclosure) (lua_State *L, lua_CFunction fn, int n);
 
169
LUA_API void  (lua_pushboolean) (lua_State *L, int b);
 
170
LUA_API void  (lua_pushlightuserdata) (lua_State *L, void *p);
 
171
LUA_API int   (lua_pushthread) (lua_State *L);
 
172
 
 
173
 
 
174
/*
 
175
** get functions (Lua -> stack)
 
176
*/
 
177
LUA_API void  (lua_gettable) (lua_State *L, int idx);
 
178
LUA_API void  (lua_getfield) (lua_State *L, int idx, const char *k);
 
179
LUA_API void  (lua_rawget) (lua_State *L, int idx);
 
180
LUA_API void  (lua_rawgeti) (lua_State *L, int idx, int n);
 
181
LUA_API void  (lua_createtable) (lua_State *L, int narr, int nrec);
 
182
LUA_API void *(lua_newuserdata) (lua_State *L, size_t sz);
 
183
LUA_API int   (lua_getmetatable) (lua_State *L, int objindex);
 
184
LUA_API void  (lua_getfenv) (lua_State *L, int idx);
 
185
 
 
186
 
 
187
/*
 
188
** set functions (stack -> Lua)
 
189
*/
 
190
LUA_API void  (lua_settable) (lua_State *L, int idx);
 
191
LUA_API void  (lua_setfield) (lua_State *L, int idx, const char *k);
 
192
LUA_API void  (lua_rawset) (lua_State *L, int idx);
 
193
LUA_API void  (lua_rawseti) (lua_State *L, int idx, int n);
 
194
LUA_API int   (lua_setmetatable) (lua_State *L, int objindex);
 
195
LUA_API int   (lua_setfenv) (lua_State *L, int idx);
 
196
 
 
197
 
 
198
/*
 
199
** `load' and `call' functions (load and run Lua code)
 
200
*/
 
201
LUA_API void  (lua_call) (lua_State *L, int nargs, int nresults);
 
202
LUA_API int   (lua_pcall) (lua_State *L, int nargs, int nresults, int errfunc);
 
203
LUA_API int   (lua_cpcall) (lua_State *L, lua_CFunction func, void *ud);
 
204
LUA_API int   (lua_load) (lua_State *L, lua_Reader reader, void *dt,
 
205
                                        const char *chunkname);
 
206
 
 
207
LUA_API int (lua_dump) (lua_State *L, lua_Writer writer, void *data);
 
208
 
 
209
 
 
210
/*
 
211
** coroutine functions
 
212
*/
 
213
LUA_API int  (lua_yield) (lua_State *L, int nresults);
 
214
LUA_API int  (lua_resume) (lua_State *L, int narg);
 
215
LUA_API int  (lua_status) (lua_State *L);
 
216
 
 
217
/*
 
218
** garbage-collection function and options
 
219
*/
 
220
 
 
221
#define LUA_GCSTOP              0
 
222
#define LUA_GCRESTART           1
 
223
#define LUA_GCCOLLECT           2
 
224
#define LUA_GCCOUNT             3
 
225
#define LUA_GCCOUNTB            4
 
226
#define LUA_GCSTEP              5
 
227
#define LUA_GCSETPAUSE          6
 
228
#define LUA_GCSETSTEPMUL        7
 
229
 
 
230
LUA_API int (lua_gc) (lua_State *L, int what, int data);
 
231
 
 
232
 
 
233
/*
 
234
** miscellaneous functions
 
235
*/
 
236
 
 
237
LUA_API int   (lua_error) (lua_State *L);
 
238
 
 
239
LUA_API int   (lua_next) (lua_State *L, int idx);
 
240
 
 
241
LUA_API void  (lua_concat) (lua_State *L, int n);
 
242
 
 
243
LUA_API lua_Alloc (lua_getallocf) (lua_State *L, void **ud);
 
244
LUA_API void lua_setallocf (lua_State *L, lua_Alloc f, void *ud);
 
245
 
 
246
 
 
247
 
 
248
/*
 
249
** ===============================================================
 
250
** some useful macros
 
251
** ===============================================================
 
252
*/
 
253
 
 
254
#define lua_pop(L,n)            lua_settop(L, -(n)-1)
 
255
 
 
256
#define lua_newtable(L)         lua_createtable(L, 0, 0)
 
257
 
 
258
#define lua_register(L,n,f) (lua_pushcfunction(L, (f)), lua_setglobal(L, (n)))
 
259
 
 
260
#define lua_pushcfunction(L,f)  lua_pushcclosure(L, (f), 0)
 
261
 
 
262
#define lua_strlen(L,i)         lua_objlen(L, (i))
 
263
 
 
264
#define lua_isfunction(L,n)     (lua_type(L, (n)) == LUA_TFUNCTION)
 
265
#define lua_istable(L,n)        (lua_type(L, (n)) == LUA_TTABLE)
 
266
#define lua_islightuserdata(L,n)        (lua_type(L, (n)) == LUA_TLIGHTUSERDATA)
 
267
#define lua_isnil(L,n)          (lua_type(L, (n)) == LUA_TNIL)
 
268
#define lua_isboolean(L,n)      (lua_type(L, (n)) == LUA_TBOOLEAN)
 
269
#define lua_isthread(L,n)       (lua_type(L, (n)) == LUA_TTHREAD)
 
270
#define lua_isnone(L,n)         (lua_type(L, (n)) == LUA_TNONE)
 
271
#define lua_isnoneornil(L, n)   (lua_type(L, (n)) <= 0)
 
272
 
 
273
#define lua_pushliteral(L, s)   \
 
274
        lua_pushlstring(L, "" s, (sizeof(s)/sizeof(char))-1)
 
275
 
 
276
#define lua_setglobal(L,s)      lua_setfield(L, LUA_GLOBALSINDEX, (s))
 
277
#define lua_getglobal(L,s)      lua_getfield(L, LUA_GLOBALSINDEX, (s))
 
278
 
 
279
#define lua_tostring(L,i)       lua_tolstring(L, (i), NULL)
 
280
 
 
281
 
 
282
 
 
283
/*
 
284
** compatibility macros and functions
 
285
*/
 
286
 
 
287
#define lua_open()      luaL_newstate()
 
288
 
 
289
#define lua_getregistry(L)      lua_pushvalue(L, LUA_REGISTRYINDEX)
 
290
 
 
291
#define lua_getgccount(L)       lua_gc(L, LUA_GCCOUNT, 0)
 
292
 
 
293
#define lua_Chunkreader         lua_Reader
 
294
#define lua_Chunkwriter         lua_Writer
 
295
 
 
296
 
 
297
/* hack */
 
298
LUA_API void lua_setlevel       (lua_State *from, lua_State *to);
 
299
 
 
300
 
 
301
/*
 
302
** {======================================================================
 
303
** Debug API
 
304
** =======================================================================
 
305
*/
 
306
 
 
307
 
 
308
/*
 
309
** Event codes
 
310
*/
 
311
#define LUA_HOOKCALL    0
 
312
#define LUA_HOOKRET     1
 
313
#define LUA_HOOKLINE    2
 
314
#define LUA_HOOKCOUNT   3
 
315
#define LUA_HOOKTAILRET 4
 
316
 
 
317
 
 
318
/*
 
319
** Event masks
 
320
*/
 
321
#define LUA_MASKCALL    (1 << LUA_HOOKCALL)
 
322
#define LUA_MASKRET     (1 << LUA_HOOKRET)
 
323
#define LUA_MASKLINE    (1 << LUA_HOOKLINE)
 
324
#define LUA_MASKCOUNT   (1 << LUA_HOOKCOUNT)
 
325
 
 
326
typedef struct lua_Debug lua_Debug;  /* activation record */
 
327
 
 
328
 
 
329
/* Functions to be called by the debuger in specific events */
 
330
typedef void (*lua_Hook) (lua_State *L, lua_Debug *ar);
 
331
 
 
332
 
 
333
LUA_API int lua_getstack (lua_State *L, int level, lua_Debug *ar);
 
334
LUA_API int lua_getinfo (lua_State *L, const char *what, lua_Debug *ar);
 
335
LUA_API const char *lua_getlocal (lua_State *L, const lua_Debug *ar, int n);
 
336
LUA_API const char *lua_setlocal (lua_State *L, const lua_Debug *ar, int n);
 
337
LUA_API const char *lua_getupvalue (lua_State *L, int funcindex, int n);
 
338
LUA_API const char *lua_setupvalue (lua_State *L, int funcindex, int n);
 
339
 
 
340
LUA_API int lua_sethook (lua_State *L, lua_Hook func, int mask, int count);
 
341
LUA_API lua_Hook lua_gethook (lua_State *L);
 
342
LUA_API int lua_gethookmask (lua_State *L);
 
343
LUA_API int lua_gethookcount (lua_State *L);
 
344
 
 
345
 
 
346
struct lua_Debug {
 
347
  int event;
 
348
  const char *name;     /* (n) */
 
349
  const char *namewhat; /* (n) `global', `local', `field', `method' */
 
350
  const char *what;     /* (S) `Lua', `C', `main', `tail' */
 
351
  const char *source;   /* (S) */
 
352
  int currentline;      /* (l) */
 
353
  int nups;             /* (u) number of upvalues */
 
354
  int linedefined;      /* (S) */
 
355
  int lastlinedefined;  /* (S) */
 
356
  char short_src[LUA_IDSIZE]; /* (S) */
 
357
  /* private part */
 
358
  int i_ci;  /* active function */
 
359
};
 
360
 
 
361
/* }====================================================================== */
 
362
 
 
363
 
 
364
/******************************************************************************
 
365
* Copyright (C) 1994-2008 Lua.org, PUC-Rio.  All rights reserved.
 
366
*
 
367
* Permission is hereby granted, free of charge, to any person obtaining
 
368
* a copy of this software and associated documentation files (the
 
369
* "Software"), to deal in the Software without restriction, including
 
370
* without limitation the rights to use, copy, modify, merge, publish,
 
371
* distribute, sublicense, and/or sell copies of the Software, and to
 
372
* permit persons to whom the Software is furnished to do so, subject to
 
373
* the following conditions:
 
374
*
 
375
* The above copyright notice and this permission notice shall be
 
376
* included in all copies or substantial portions of the Software.
 
377
*
 
378
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 
379
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 
380
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 
381
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 
382
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 
383
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 
384
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
385
******************************************************************************/
 
386
 
 
387
 
 
388
#endif