Next: 7. System limits
Up: 6. Miscellaneous data structures
Previous: 6.4.1 Freezing strings into
\subsection{Machine dependent stacks}
To isolate the system from stack details (growing direction, etc.) we
use machine dependent stack objects. No matter the machine
convention, it can be assumed that a stack grows from high to low
addresses if this class is used.
<Off machine dependent stack. >= (U->)
// A machine dependent stack.
//
class off_mdepStck {
protected:
vm_offset_t s_sp; // stack pointer.
<Other protected methods of off_mdepStck. >
public:
// Creates an mdep stack which pretends to grow downwards.
off_mdepStck(const vm_offset_t sp) : s_sp(sp) {}
<Other public methods of off_mdepStck. >
};
Defines off_mdepStck (links are to index).
A stack (which is an stack pointer) can be converted to a pointer to
machine words.
<Other public methods of off_mdepStck. >= (<-U) [D->]
operator vm_offset_t*(void){
assert(sizeof(vm_offset_t)==sizeof(vm_offset_t*));
return (vm_offset_t*)s_sp;
}
operator natural_t(void){
assert(sizeof(natural_t)==sizeof(vm_offset_t));
return (natural_t)s_sp;
}
<Off machine dependent stack dependencies. >= (U->)
#include <flux/types.h> // for vm_offset_t et al.
#include <assert.h> // for assert
On Intels, the stack grows to the left (to low addresses). This method
can be used to check the stack direction.
<Other public methods of off_mdepStck. >+= (<-U) [<-D->]
inline static boolean_t grows_to_right(void);
<off_mdepStck::grows_to_right implementation. >= (U->)
// On intels stack grow right to left (hi to lo).
inline boolean_t off_mdepStck::grows_to_right(void) { return FALSE; }
The common operators are provided to do pointer arithmetic.
<Other public methods of off_mdepStck. >+= (<-U) [<-D->]
// Common stack operators.
off_mdepStck operator+(vm_size_t s) const
{ return off_mdepStck(s_sp+s); }
off_mdepStck operator-(vm_size_t s) const
{ return off_mdepStck(s_sp-s); }
off_mdepStck &operator++(void)
{ s_sp++; return *this; }
off_mdepStck &operator--(void)
{ s_sp--; return *this; }
off_mdepStck &operator+=(const vm_size_t s)
{ s_sp+=s; return *this; }
off_mdepStck &operator-=(const vm_size_t s)
{ s_sp-=s; return *this; }
boolean_t operator<(const off_mdepStck a_stck) const
{ return s_sp < a_stck.s_sp; }
boolean_t operator>(const off_mdepStck a_stck) const
{ return s_sp > a_stck.s_sp; }
boolean_t operator<=(const off_mdepStck a_stck) const
{ return s_sp <= a_stck.s_sp; }
boolean_t operator>=(const off_mdepStck a_stck) const
{ return s_sp >= a_stck.s_sp; }
Usual stack operations are provided too.
<Other public methods of off_mdepStck. >+= (<-U) [<-D->]
off_mdepStck &pushb(const unsigned8_t i)
{*(vm_offset_t*)--s_sp=(vm_offset_t)i; return *this;}
off_mdepStck &pushs(const unsigned16_t i)
{*(vm_offset_t*)--s_sp=(vm_offset_t)i; return *this;}
off_mdepStck &push(const unsigned32_t i)
{*(vm_offset_t*)--s_sp=(vm_offset_t)i; return *this;}
off_mdepStck &pushd(const unsigned64_t i)
{push(hi(i)); push(lo(i)); return *this;}
off_mdepStck &popb(unsigned8_t &i)
{i=(unsigned8_t)*(vm_offset_t*)s_sp; s_sp++; return *this;}
off_mdepStck &pops(unsigned16_t &i)
{i=(unsigned16_t)*(vm_offset_t*)s_sp; s_sp++; return *this;}
off_mdepStck &pop(unsigned32_t &i)
{i=(unsigned32_t)*(vm_offset_t*)s_sp; s_sp++; return *this;}
off_mdepStck &popd(unsigned64_t &i)
{i=*(unsigned64_t *)s_sp; s_sp+=2; return *this;}
Where
<Other protected methods of off_mdepStck. >= (<-U)
unsigned32_t hi(unsigned64_t i){ return ((unsigned32_t)(i>>32)); }
unsigned32_t lo(unsigned64_t i){ return ((unsigned32_t)(i&0xffffffff)); }
This other method allocates a region to push multiple words in the
stack and return the starting address of the pushed words.
<Other public methods of off_mdepStck. >+= (<-U) [<-D]
void *alloca(vm_size_t nbytes) {
s_sp -= nbytes;
return (void*)s_sp;
}
\subsubsection{Machine dependent stacks \cpp{} source files}
Stack code is kept in klib/mdep/mStck.h.
<mdep mStck.h*>=
<Read the literate code instead warning. >
#ifndef __OFF_MDEP_STCK_H
#define __OFF_MDEP_STCK_H 1
<Off machine dependent stack dependencies. >
<Off machine dependent stack. >
<off_mdepStck::grows_to_right implementation. >
#endif // __OFF_MDEP_STCK_H
- <A chunk including another. >: D1
- <AbsCompResource.C*>: D1
- <AbsCompResource.h*>: D1
- <AbsResUnit.C*>: D1
- <AbsResUnit.h*>: D1
- <Accessors by name of
off_Inspector implementation. >: D1, U2
- <
adjust utilities. >: D1, U2
- <Allocate space at
curbuf in avail bytes to store sigstart. >: U1, D2
- <Allocator.h*>: D1
- <Bitmap. >: D1, U2
- <Bitmap dependencies. >: D1, U2
- <Bitmap implementation dependencies. >: D1, U2
- <
Bitmap::Bitmap implementation. >: D1, U2
- <BKAllocator.C*>: D1
- <BKAllocator.h*>: D1
- <BlockAllocator.C*>: D1
- <BlockAllocator.h*>: D1
- <BmAllocator.C*>: D1
- <BmAllocator.h*>: D1
- <bmap.C*>: D1
- <bmap.h*>: D1
- <Body of
off_CompResource::make_available. >: U1, D2
- <Bureaucrat.C*>: D1
- <Bureaucrat.h*>: D1
- <CompResource.C*>: D1
- <CompResource.h*>: D1
- <Console output stream. >: D1, U2
- <Console output stream dependencies. >: D1, D2, U3
- <Continuing chunk of code. >: D1, D2
- <dhash.h*>: D1
- <
DHashTbl::insert implementation. >: D1, U2
- <
DHashTbl::lookup implementation. >: D1, U2
- <
DHashTbl::remove implementation. >: D1, U2
- <
DLinkedList::adjust implementation. >: D1, U2
- <
DLinkedList::get_head and get_tail implementation. >: D1, U2
- <
DLinkedList::link_after implementation. >: D1, U2
- <
DLinkedList::link_before implementation. >: D1, U2
- <
DLinkedList::link_first implementation. >: D1, U2
- <
DLinkedList::unlink implementation. >: D1, U2
- <
DLinkedList::unlink_head implementation. >: D1, U2
- <
DLinkedList::unlink_tail implementation. >: D1, U2
- <
DLinkedList::valid implementation. >: D1, U2
- <
DLinkedQueue::~DLinkedQueue implementation. >: D1, U2
- <dlist.C*>: D1
- <dlist.h*>: D1
- <Double linked list. >: D1, U2
- <Double linked list dependencies. >: D1, D2, U3
- <Double linked list implementation dependencies. >: D1, U2
- <Double linked list iterator. >: D1, U2
- <Double linked node. >: D1, U2
- <Double linked queue. >: D1, U2
- <Double linked queue dependencies. >: D1, U2
- <Double linked queue iterator. >: D1, U2
- <dqueue.C*>: D1
- <dqueue.h*>: D1
- <Ensure
buf (bsize bytes) has this resource kind. >: U1, D2
- <Example chunk of code. >: D1, U2
- <FixedAllocator.h*>: D1
- <freeze.C*>: D1
- <freeze.h*>: D1
- <
from (len size) and buf (bsize) integrity is ok. >: D1, U2
- <Hash table. >: D1, U2
- <Hash table dependencies. >: D1, D2, U3
- <HWCompResource.C*>: D1
- <HWCompResource.h*>: D1
- <HWResUnit.C*>: D1
- <HWResUnit.h*>: D1
- <Identify the frozen resource in
curbuf of length avail. >: U1, D2
- <ids.C*>: D1
- <ids.h*>: D1
- <Implementation of
off_CompResource::make_available. >: D1
- <Implementation of other methods of
off_Resource. >: U1, D2, D3, D4, D5
- <Implementation of other public methods of
DLinkedList. >: D1, U2
- <Indexer.h*>: D1
- <Initialize other aggregate members of
off_Resource. >: U1, D2
- <Initialize other aggregate members of
off_SwAllocator. >: U1, D2
- <Initialize other protected members of
off_SparseAllocator. >: U1, D2
- <KernAllocator.C*>: D1
- <KernAllocator.h*>: D1
- <Lockable.C*>: D1
- <Lockable.h*>: D1
- <Magic.C*>: D1
- <Magic.h*>: D1
- <mdep ids.h*>: D1
- <mdep mStck.h*>: D1
- <nav.C*>: D1
- <nav.h*>: D1
- <Off access checker. >: D1, U2
- <Off access mode. >: D1, U2
- <Off access operations. >: D1, U2
- <Off access rights. >: D1, U2
- <Off allocator. >: D1, U2
- <Off allocator data types. >: U1, D2
- <Off attribute data type. >: D1, U2
- <Off attribute type ids. >: D1, U2
- <Off attributes. >: D1, U2
- <Off basic kernel allocator. >: D1, U2
- <Off basic kernel allocator dependencies. >: D1, U2
- <Off bitmap allocator. >: D1, U2
- <Off bitmap allocator dependencies. >: D1, D2, U3
- <Off block allocator. >: D1, U2
- <Off block allocator dependencies. >: D1, D2, D3, D4, U5
- <Off bookkeeping allocator. >: D1, U2
- <Off bookkeeping allocator dependencies. >: D1, U2
- <Off bureaucrat. >: D1, U2
- <Off bureaucrat node. >: D1, U2
- <Off compound resource. >: D1, U2
- <Off compound resource dependencies. >: D1, D2, D3, D4, U5, D6
- <Off compound resource for users. >: D1, U2
- <Off compound resource implementation dependencies. >: D1, U2
- <Off compound resource static members. >: D1, U2
- <Off elementary resource unit. >: D1, U2
- <Off elementary resource unit dependencies. >: D1, U2
- <Off elementary resource unit for users. >: D1, U2
- <Off Exhausted resource revocation trigger. >: U1, D2
- <Off fixed allocator. >: D1, U2
- <Off fixed allocator dependencies. >: D1, U2
- <Off hardware resource container. >: D1, U2
- <Off hardware resource container dependencies. >: D1, U2
- <Off hardware resource container for users. >: D1, U2
- <Off hardware resource unit. >: D1, U2
- <Off hardware resource unit dependencies. >: D1, U2
- <Off hardware resource unit for users.>: D1, U2
- <Off identifer null values. >: D1, U2
- <Off identifier dependencies. >: D1, D2, D3, U4
- <Off identifier field null values. >: D1, U2
- <Off identifier fields data types. >: D1, U2
- <Off identifier synonyms. >: D1, U2
- <Off identifiers. >: D1, U2
- <Off identifiers
operator<<. >: D1, U2
- <Off identifiers
operator<< implementation. >: D1, U2
- <Off indexable. >: D1, U2
- <Off indexer. >: D1, U2
- <Off indexer dependencies. >: D1, U2
- <Off initialization for integrity checked resources with
magic. >: D1, U2, U3
- <Off initialization for
p protected objects. >: D1, U2, U3
- <Off initialization for reference counting objects. >: D1, U2, U3
- <Off initialization for sequencing objects. >: D1, U2
- <Off limits. >: D1, D2
- <Off lock state data type. >: D1, U2
- <Off Lockable dependencies. >: D1, U2
- <Off Lockable implementation dependencies. >: D1, U2
- <Off lockable objects. >: D1, U2
- <Off machine dependent stack. >: D1, U2
- <Off machine dependent stack dependencies. >: D1, U2
- <Off magic number. >: D1, U2
- <Off magic number data type. >: D1, U2
- <Off magic number dependencies. >: D1, U2
- <Off magic numbers. >: U1
- <Off private members for integrity checked resources. >: D1, U2
- <Off private members for protected objects. >: D1, U2
- <Off private members for reference counting objects. >: D1, U2, U3
- <Off private members for sequencing objects. >: D1, U2
- <Off private methods for exported objects. >: D1
- <Off protected methods for integrity checked resources. >: D1, U2
- <Off protected methods for reference counting objects. >: D1, U2
- <Off protected methods for sequencing objects. >: D1, U2
- <Off protection. >: D1, U2
- <Off protection dependencies. >: U1, D2
- <Off public methods for protected objects. >: D1, U2
- <Off public methods for reference counting objects. >: D1, U2, U3
- <Off relocation table. >: D1, U2
- <Off relocation table dependencies. >: D1, D2, D3, D4, D5, D6, U7
- <Off relocation table entry. >: D1, U2
- <Off relocation table hasher. >: D1, U2
- <Off relocation table implementation dependencies. >: D1, D2, U3
- <Off relocation table static members. >: D1, D2, D3, U4
- <Off resource. >: D1, U2
- <Off resource dependencies. >: D1, D2, U3, D4, D5
- <Off resource flag bits. >: U1, D2
- <Off resource for users. >: D1, U2
- <Off resource implementation dependencies. >: U1, D2, D3, D4
- <Off resource inspector. >: D1, U2
- <Off resource inspector for users. >: D1, U2
- <Off resource navigator. >: D1, U2
- <Off resource navigator dependencies. >: D1, D2, D3, D4, U5
- <Off resource navigator for users. >: D1, U2
- <Off resource navigator late dependencies. >: D1, U2
- <Off sign utilities. >: D1, U2
- <Off sign utilities dependencies. >: D1, U2
- <Off software allocator. >: D1, U2
- <Off software allocator dependencies. >: D1, D2, D3, D4, U5
- <Off software allocator implementation dependencies. >: D1, D2, U3, U4
- <Off source code urls. >: U1
- <Off sparse allocator. >: D1, U2
- <Off sparse allocator dependencies. >: D1, U2
- <Off string freeze utility. >: D1, U2
- <Off string freeze utility dependencies. >: D1, D2, U3
- <Off string freeze utility implementation. >: D1, D2, U3
- <Off string freeze utility implementation dependencies. >: D1, U2
- <Off string melt utility. >: D1, U2
- <Off string melt utility implementation. >: D1, D2, U3
- <Off system resource. >: D1, U2
- <Off system resource dependencies. >: D1, U2
- <Off system resource for users. >: D1, U2
- <Off system server. >: D1, U2
- <Off system server dependencies. >: D1, U2
- <Off system server for users. >: D1, U2
- <Off type safe bitmap allocator. >: D1, U2
- <Off type safe block allocator. >: D1, U2
- <Off type safe fixed allocator. >: D1, U2
- <Off type safe sparse allocator. >: D1, U2
- <Off user-kernel messages. >: D1, D2, D3, D4
- <Off user-kernel messages dependencies. >: D1, D2
- <Off valid access operation and mode. >: D1, U2
- <
off_AccessChecker::access_granted implementation. >: D1, U2
- <
off_AccessChecker::protect implementation. >: D1, U2
- <
off_BKAllocator::allocate and deallocate implementation. >: D1, U2
- <
off_BlockAllocator::grow implementation. >: D1, U2
- <
off_BlockAllocator::off_BlockAllocator implementation. >: D1, U2
- <
off_BmAllocator::allocate and deallocate implementation. >: D1, U2
- <
off_Bureaucrat::off_Bureaucrat implementation. >: D1, U2
- <
off_Bureaucrat::~off_Bureaucrat implementation. >: D1, U2
- <
off_Bureaucrat::signal implementation. >: D1, U2
- <
off_Bureaucrat::wait implementation. >: D1, U2
- <
off_CompResource::operator<< implementation. >: D1, U2
- <
off_Inspector::get_bool_attr implementation. >: D1, U2
- <
off_Inspector::get_id_attr implementation. >: D1, U2
- <
off_Inspector::get_nat_attr implementation. >: D1, U2
- <
off_Inspector::get_str_attr implementation. >: D1, U2
- <
off_Inspector::kindof implementation. >: D1, U2
- <
off_Inspector::length implementation. >: D1, U2
- <
off_Inspector::lookup_by_name implementation. >: D1, U2
- <
off_Inspector::nameof implementation. >: D1, U2
- <
off_KernAllocator::operator+ and operator- implementation. >: D1, U2
- <
off_Lockable::lock and unlock implementation. >: D1, U2
- <
off_Lockable::lock_yield implementation. >: D1, U2
- <
off_Magic::nameof case for m_numbers. >: U1
- <
off_Magic::nameof implementation. >: D1, U2
- <
off_mdepStck::grows_to_right implementation. >: D1, U2
- <
off_Protection::randomize implementation. >: D1, U2
- <
off_RelocTblEnt::new/delete implementation. >: D1, U2
- <
off_RelocTbl::is_relocated implementation. >: D1, U2
- <
off_RelocTbl::missing implementation. >: D1, U2
- <
off_RelocTbl::off_RelocTbl implementation. >: D1, U2
- <
off_RelocTbl::relocate implementation. >: D1, U2
- <
off_RelocTbl::start implementation. >: D1, U2
- <
off_RelocTbl::unrelocate implementation. >: D1, U2
- <
off_Resource::assimilate implementation. >: D1, U2
- <
off_Resource::freeze implementation. >: D1, U2
- <
off_Resource::freeze local variables. >: D1, D2, U3, D4
- <
off_Resource::freeze_state implementation. >: D1, U2
- <
off_Resource::melt implementation. >: D1, U2
- <
off_Resource::melt_state implementation. >: D1, U2
- <
off_Resource::operator<< implementation. >: D1, U2
- <
off_ResUnit::get_url implementation. >: D1, U2
- <
off_ResUnit::nameof implementation. >: D1, U2
- <
off_ResUnit::~off_ResUnit implementation. >: D1, U2
- <
off_SparseAllocator::allocate implementation. >: D1, U2
- <
off_SparseAllocator::deallocate implementation. >: D1, U2
- <
off_SparseAllocator::lookup implementation. >: D1, U2
- <
off_SparseAllocator::operator+ implementation. >: D1, U2
- <
off_SparseAllocator::pos implementation. >: D1, U2
- <
off_SwAllocator::allocate implementation. >: D1, D2, U3
- <
off_SwAllocator::deallocate implementation. >: D1, U2
- <
off_SwAllocator::freeze_state implementation. >: D1, U2
- <
off_SwAllocator::melt_state implementation. >: D1, U2
- <Other Off error numbers. >: D1
- <Other Off resource attributes. >: U1, D2
- <Other private members of
off_BlockAllocator. >: U1, D2
- <Other private members of
off_Bureaucrat. >: U1, D2, D3
- <Other private members of
off_Inspector. >: U1, D2
- <Other private members of
off_RelocTbl. >: U1, D2, D3, D4, D5
- <Other private members of
off_Resource. >: U1, D2
- <Other private members of
off_SwAllocator. >: U1, D2
- <Other private methods of
off_Lockable. >: U1, D2
- <Other protected members of
off_Allocator. >: U1, D2
- <Other protected members of
off_CompResource. >: U1, D2
- <Other protected members of
off_Resource. >: U1, D2
- <Other protected members of
off_SparseAllocator. >: U1, D2
- <Other protected members of
off_SwAllocator. >: U1, D2
- <Other protected methods of
off_CompResource. >: U1, D2, D3
- <Other protected methods of
off_Inspector. >: U1, D2
- <Other protected methods of
off_mdepStck. >: U1, D2
- <Other protected methods of
off_Resource. >: U1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11
- <Other protected methods of
off_ResUnit. >: U1, D2, D3, D4
- <Other protected methods of
off_SparseAllocator. >: U1, D2
- <Other public members of
off_id_t. >: U1, D2, D3, D4, D5
- <Other public members of
off_Magic. >: U1, D2
- <Other public members of
off_RelocTbl. >: U1, D2
- <Other public methods of
DHashTbl. >: U1, D2
- <Other public methods of
DLinkedList. >: D1, D2, U3, D4, D5, D6, D7, D8, D9
- <Other public methods of
DLinkedQueue. >: U1, D2
- <Other public methods of
off_Allocator. >: U1, D2, D3, D4
- <Other public methods of
off_BlockAllocator. >: U1, D2, D3, D4
- <Other public methods of
off_BmAllocator. >: U1, D2
- <Other public methods of
off_Bureaucrat. >: U1, D2
- <Other public methods of
off_HWResUnit. >: U1, D2
- <Other public methods of
off_Inspector. >: U1, D2
- <Other public methods of
off_KernAllocator. >: U1, D2, D3
- <Other public methods of
off_Lockable. >: U1, D2
- <Other public methods of
off_mdepStck. >: U1, D2, D3, D4, D5, D6
- <Other public methods of
off_PgBlkAllocator. >: D1
- <Other public methods of
off_Protection. >: U1, D2, D3
- <Other public methods of
off_RelocTbl. >: U1, D2, D3, D4
- <Other public methods of
off_RelocTblEnt. >: U1, D2, D3, D4
- <Other public methods of
off_Resource. >: U1, D2, D3, D4, D5, D6, D7, D8
- <Other public methods of
off_ResUnit. >: U1, D2, D3
- <Other public methods of
off_SparseAllocator. >: U1, D2, D3
- <Other public methods of
off_SwAllocator. >: U1, D2, D3
- <Other public methods of
off_TBlockAllocator. >: U1, D2, D3
- <Other public methods of
off_TBmAllocator. >: U1, D2
- <Other public methods of
off_TFixedAllocator. >: U1, D2, D3
- <Other public methods of
off_TSparseAllocator. >: U1, D2
- <Other public methods of
off_uResource. >: D1, U2, D3
- <Other public methods of
OStr. >: U1, D2
- <Other utilities for
freeze. >: D1, U2
- <Output stream. >: D1, U2
- <Output stream new line. >: D1, U2
- <Output stream new line initializer. >: D1, U2
- <Output stream utilities. >: D1, U2
- <prot.C*>: D1
- <prot.h*>: D1
- <Read the literate code instead warning. >: U1, U2, D3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16, U17, U18, U19, U20, U21, U22, U23, U24, U25, U26, U27, U28, U29, U30, U31, U32, U33, U34, U35, U36, U37, U38, U39, U40, U41, U42, U43, U44, U45, U46, U47, U48, U49, U50, U51, U52, U53, U54, U55, U56, U57, U58, U59, U60
- <Record
sigstart at curbuf in buf. >: U1, D2
- <RelocTbl.C*>: D1
- <RelocTbl.h*>: D1
- <
request_melt utilities. >: D1, U2
- <
request_melt utilities dependencies. >: D1, U2
- <
request_melt utility implementation. >: D1, U2
- <
request_melt utility implementation dependencies. >: D1, U2
- <Resource.C*>: D1
- <Resource.h*>: D1
- <ResUnit.C*>: D1
- <ResUnit.h*>: D1
- <Sign from
buf to curbuf and to in avail bytes. >: U1, D2
- <sign.h*>: D1
- <SparseAllocator.C*>: D1
- <SparseAllocator.h*>: D1
- <str.C*>: D1
- <str.h*>: D1
- <SwAllocator.C*>: D1
- <SwAllocator.h*>: D1
- <url.h*>: D1
- <Version.C*>: D1
- <Version.h*>: D1
- A_Class: D1, U2
- Bitmap: U1, U2, D3, U4
- ConsOStr: D1, U2, U3
- DHashTbl: U1, U2, U3, D4, U5, U6, U7
- DLinkedList: U1, U2, D3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16, U17
- DLinkedListItr: U1, U2, U3, U4, U5, U6, U7, U8, D9, U10, U11, U12, U13, U14
- DLinkedNode: U1, U2, U3, U4, U5, U6, U7, D8, U9, U10, U11, U12, U13, U14, U15, U16, U17, U18, U19, U20, U21, U22, U23, U24
- DLinkedQueue: U1, U2, D3, U4
- err_t: U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16, U17, U18, U19, U20, U21, U22, U23, U24, U25, U26, U27, U28, U29, U30, U31, U32, U33
- fmt: U1, U2, D3
- freeze: U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, D13, U14, U15
- melt: U1, U2, U3, U4, U5, U6, D7, U8
- nd: U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16
- off_AbsCompResource: D1, U2, U3
- off_AbsResUnit: D1
- off_AccessChecker: D1, U2, U3, U4
- off_Allocator: U1, D2, U3, U4, U5, U6
- OFF_ATTR_CLASS: D1
- OFF_ATTR_DOM: D1
- OFF_ATTR_ID: D1
- off_attr_kind_t: U1, D2, U3, U4, U5
- OFF_ATTR_NAME: D1
- OFF_ATTR_NULL: D1
- OFF_ATTR_OFFSET: D1
- off_attr_t: U1, D2, U3
- OFF_ATTR_URL: D1
- off_BKAllocator: D1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14
- off_BlockAllocator: U1, D2, U3, U4, U5, U6, U7, U8
- off_BmAllocator: D1, U2, U3
- OFF_BOOL_ATTR: D1, U2
- off_Bureaucrat: D1, U2, U3, U4, U5, U6
- off_CompResource: D1, U2, U3, U4, U5, U6, U7, U8, U9
- off_dma_id_t: D1
- off_dtlb_id_t: D1
- OFF_DTLB_NULL: D1
- OFF_EU_ID_NULL: D1
- off_eu_id_t: D1, D2, U3, U4, U5, U6, U7, U8, U9, U10, U11
- OFF_EX_FROZEN: U1
- off_Exhausted: U1, U2, D3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16, U17, U18
- OFF_EX_MISSING: U1
- off_FixedAllocator: D1, U2, U3, U4, U5, U6, U7, U8, U9
- OFF_FMT_NSTR_MAX: U1, D2, U3
- off_FrozenReq: D1, U2
- off_HWCompResource: D1, U2, U3
- off_HWResUnit: D1
- OFF_HWR_NENTS: D1, U2
- OFF_ID_ATTR: D1, U2
- OFF_ID_NULL: D1, U2, U3, U4, U5
- off_id_t: U1, U2, U3, U4, U5, D6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16, U17, U18, U19, U20, U21, U22, U23, U24, U25, U26, U27, U28, U29, U30, U31, U32, U33, U34, U35, U36, U37, U38, U39, U40, U41, U42, U43, U44, U45, U46, U47
- off_Indexable: D1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16
- off_Indexer: D1, U2, U3
- off_Inspector: U1, U2, D3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13
- off_io_id_t: D1
- off_KernAllocator: D1, U2, U3, U4, U5, U6, U7, U8, U9
- off_KVM: U1
- off_KVMRegion: U1, U2, U3, U4, U5, U6, U7
- off_Lockable: D1, U2, U3, U4, U5, U6, U7
- off_lock_state_t: U1, D2
- off_Magic: D1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16
- OFF_M_ALL: D1, U2, U3
- off_MBank: U1
- OFF_M_D: D1, U2
- off_mdepStck: D1, U2, U3, U4
- off_MissingRep: D1, D2, U3
- off_MissingReq: D1, U2
- off_mode_t: D1, U2, U3, U4, U5, U6
- off_mode_valid: U1, D2
- OFF_M_P: D1, U2
- OFF_M_R: D1, U2
- off_MsgRep: U1, U2
- off_MsgReq: U1, U2
- OFF_M_W: D1, U2
- OFF_M_X: D1, U2
- OFF_NAT_ATTR: D1, U2
- off_Navigator: U1, U2, D3
- OFF_ND_NULL: D1
- off_node_t: D1, U2, U3, U4
- OFF_NOPS: D1, U2, U3, U4
- OFF_OFFSET_NULL: D1
- off_offset_t: D1, U2, U3, U4, U5
- OFF_OP_D: D1, U2
- OFF_OP_P: D1, U2, U3
- OFF_OP_R: D1, U2, U3
- off_op_t: D1, U2, U3, U4, U5
- off_op_valid: U1, D2
- OFF_OP_W: D1, U2
- OFF_OP_X: D1, U2
- off_pg_id_t: D1
- off_proc_id_t: D1
- off_Protection: U1, U2, U3, U4, D5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16, U17, U18, U19, U20, U21, U22, U23, U24
- off_prtl_id_t: U1, U2, U3, U4, U5, D6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16, U17, U18, U19, U20, U21, U22, U23, U24, U25, U26, U27, U28
- OFF_PRTL_NULL: U1, D2, U3, U4, U5, U6
- off_RelocTbl: U1, U2, U3, D4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16, U17
- off_RelocTblEnt: U1, U2, U3, U4, U5, U6, D7, U8, U9, U10, U11, U12
- off_RelocTblHasher: U1, U2, D3
- off_Resource: D1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16, U17, U18, U19, U20, U21, U22, U23, U24
- off_ResUnit: D1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11
- OFF_RF_FREEZABLE: U1, D2, U3
- OFF_RF_FROZEN: U1, D2, U3
- off_Rights: U1, U2, U3, D4, U5, U6, U7, U8, U9, U10
- OFF_SEQ_NULL: D1
- off_seq_t: U1, U2, D3, U4, U5, U6
- off_Shtl: U1, U2, U3, U4
- off_shtl_id_t: U1, U2, U3, U4, U5, D6
- OFF_SHTL_NULL: U1, U2, U3, D4
- OFF_SLOT_NULL: D1
- off_slot_t: D1, U2, U3, U4
- off_SparseAllocator: D1, U2, U3, U4, U5, U6, U7
- OFF_STR_ATTR: D1, U2
- off_SwAllocator: D1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14
- off_TBlockAllocator: U1, U2, U3, D4, U5, U6, U7
- off_TBmAllocator: D1
- off_TFixedAllocator: D1
- off_tmr_id_t: D1
- off_ts_id_t: D1
- off_TSparseAllocator: D1
- off_uAbsCompResource: D1
- off_uAbsResUnit: D1
- off_uCompResource: D1, U2, U3
- off_uHWCompResource: D1
- off_uHWResUnit: D1
- off_uInspector: D1
- off_uNavigator: D1
- off_uResource: D1, U2, U3, U4, U5
- off_uResUnit: D1, U2, U3
- off_Version: U1, U2, U3, D4, U5
- OStr: U1, U2, U3, U4, U5, U6, U7, U8, D9, U10, U11
- putchar: U1, U2, U3, U4
%% --------------------------------------------------------------
Francisco J. Ballesteros
1998-05-25