rmallocmap(D3)

rmallocmap - allocate and initialize a private space management map

As shipped in IRIX 6.5.5. Unchanged since IRIX 6.5.

NAME
     rmallocmap - allocate and initialize a private space management map

SYNOPSIS
     #include <sys/types.h>
     #include <sys/map.h>
     #include <sys/ddi.h>
     struct map *rmallocmap(ulong_t mapsize);

   Arguments
     mapsize   Number of entries for the map.

DESCRIPTION
     rmallocmap allocates and initializes a private map array that can be used
     for the allocation of space.

   Return Values
     On success, rmallocmap returns a pointer to the newly allocated map.  On
     failure, a NULL pointer is returned.

USAGE
     Although rmallocmap allocates and initializes the map array itself, it
     does not allocate the space that the map will manage.  This space must be
     allocated separately and must be added to the map using rmfree(D3) prior
     to attempting to allocate space from the map using rmalloc(D3) or
     rmalloc_wait(D3).

     The system maintains the map list structure by size and index.  The
     caller places whatever semantics on the units of size are appropriate for
     the type of space being managed.  For example, units may be byte
     addresses, pages of memory, or blocks.

     On systems where the rmallocmap function is available, DDI/DKI conforming
     drivers may only use map structures which have been allocated and
     initialized using rmallocmap.  Use of map structures which have been
     obtained by any other means is prohibited on such systems.

   Level
     Initialization, Base or Interrupt.

   Synchronization Constraints
     Does not sleep.

     Driver-defined basic locks, read/write locks, and sleep locks may be held
     across calls to this function.

REFERENCES
     rmalloc(D3), rmalloc_wait(D3), rmfree(D3), rmfreemap(D3)