| Q B A S E S L O T S ( )
| | | | | SOURCE: qdev_macros.txt 1.16 (12/09/2014) English AMIGA - PUBLIC
----------------------------------------------------------------------------
NAME
QBASESLOTS() - Returns predefined number of slots
for given base.
SYNOPSIS
slots = QBASESLOTS(b, p...);
[LONG] QBASESLOTS(<base_name>, [percent]);
FUNCTION
Returns number of slots per base as resolved from
inlines at the time of 'qlbs.h' header generation.
This way jump table allocation under previous OS
releases may be as big as under OS 3.1 .
INPUTS
b - Main base symbol.
p - How much bigger should the jump table be (in
percents). This argument is optional. Passing
25 to 50 % should cover all private slots most
of the time. This optional argument exists in
case 'lbasegen' was not able to access FD file
per 'b' during 'qlbs.h' generation.
RETURNS
Number of slots a jump table should have. Pass the
value to QDEV_PRV_LBS_SLOT2OFF() to get the amount
of memory needed which is also highest possible
offset.
BASES
None.
NOTES
If 'qlbs.h' is not included then this macro always
returns 0 and the optional 'p' gets blasted as is.
At all times use contants/values that are know at
compilation time so that preprocessor will compute
the final value.
Max number of slots that can be doubled (p = 100)
is 32736. The macro contains little hack to avoid
division when values are not constant.
SEE ALSO
QBASEDECL(), QBASEDECL2(), QBASEASSIGN2(),
QBASELOCAL(), QBASEJUMPTAB(), QBASEPOINTER(),
QBASERESOLVE()
EXAMPLE
None.
BUGS
None known.
----------------------------------------------------------------------------
| |
| |