| M E M _ O B T A I N R E L H O T V E C ( )
| | | | | SOURCE: qdev_autodocs.txt 1.163 (12/09/2014) English
AMIGA - MEM_#?
----------------------------------------------------------------------------
NAME
mem_obtainrelhotvec() - Obtains hot vector by taking
wrapper fp.
SYNOPSIS
vec = mem_obtainrelhotvec(fp, ent);
__saveds __interrupt LONG **mem_obtainrelhotvec(
void *, LONG);
FUNCTION
This function resolves "hot vector" throuh an address
of its wrapper.
INPUTS
fp - Function pointer to wrapper that surrounds this
routine.
ent - Vector number to obtain. You will want to pass
0 so that top of array can be accessed or some
particular vector.
RETURNS
Hot vec. address or NULL on miss or when array is out
of range.
BASES
[SysBase]
NOTES
This routine does not reference global 'SysBase' thus
it should be safe to use it anywhere in your process.
Even though function is safe to call from interrupts
it will most likely not be able to resolve hot vector
if this interrupt was not caused by your task.
This function blocks task switching at the time of id
test.
This func. is a wrapper on top of real allocator that
is able to translate func pointer to upper id values.
No id collision is possible under normal usage.
SEE ALSO
mem_attachhotvec(), mem_attachrelhotvec(),
mem_detachhotvec(), mem_obtainhotvec(),
mem_resolvehotvec()
EXAMPLE
__interrupt LONG **resolvehotvec00(LONG ent)
{
return mem_obtainrelhotvec(resolvehotvec00, ent);
}
__interrupt LONG **resolvehotvec01(LONG ent)
{
return mem_obtainrelhotvec(resolvehotvec01, ent);
}
...
LONG **vec;
if ((vec = resolvehotvec00(2)))
{
...
}
...
BUGS
None known.
----------------------------------------------------------------------------
| |
| |