a1200   NEWS   APPS   DOCS   ABOUT
a1200
----
a1200
----
Autodocs
 Static lib:
 amiga.lib
  ACrypt
  AddTOF
  ArgArrayDone
  ArgArrayInit
  ArgInt
  ArgString
  BeginIO
  CallHook
  CallHookA
  CheckRexxMsg
  CoerceMethod
  CoerceMethodA
  CreateExtIO
  CreatePort
  CreateStdIO
  CreateTask
  CxCustom
  CxDebug
  CxFilter
  CxSender
  CxSignal
  CxTranslate
  DeleteExtIO
  DeletePort
  DeleteStdIO
  DeleteTask
  DoMethod
  DoMethodA
  DoSuperMethod
  DoSuperMethodA
  FastRand
  FreeIEvents
  GetRexxVar
  HookEntry
  HotKey
  InvertString
  LibAllocPooled
  LibCreatePool
  LibDeletePool
  LibFreePooled
  NewList
  RangeRand
  RemTOF
  SetRexxVar
  SetSuperAttrs
  TimeDelay
  afp
  arnd
  dbf
  fpa
  printf
  sprintf
  stdio
Include
GuruMeditation
Docs » Autodocs » amiga.lib » LibCreatePool

NAME

	LibCreatePool -- Generate a private memory pool header (V33)

SYNOPSIS

	newPool=LibCreatePool(memFlags,puddleSize,threshSize)
a0 d0 d1 d2
void *LibCreatePool(ULONG,ULONG,ULONG);

FUNCTION

	This function is a copy of the pool functions in V39 and up of
EXEC. In fact, if you are running in V39, this function will
notice and call the EXEC function. This function works in
V33 and up (1.2) Amiga system.
The C code interface is _LibCreatePool() and takes its arguments
from the stack just like the C code interface for CreatePool()
in amiga.lib. The assembly code interface is with the symbol
_AsmCreatePool: and takes the parameters in registers with the
additional parameter of ExecBase being in a6 which can be used
from SAS/C 6 by a prototype of:
void * __asm AsmCreatePool(register __d0 ULONG,
register __d1 ULONG,
register __d2 ULONG,
register __a6 struct ExecBase *);
Allocate and prepare a new memory pool header. Each pool is a
separate tracking system for memory of a specific type. Any number
of pools may exist in the system.
Pools automatically expand and shrink based on demand. Fixed sized
"puddles" are allocated by the pool manager when more total memory
is needed. Many small allocations can fit in a single puddle.
Allocations larger than the threshSize are allocation in their own
puddles.
At any time individual allocations may be freed. Or, the entire
pool may be removed in a single step.

INPUTS

	memFlags - a memory flags specifier, as taken by AllocMem.
puddleSize - the size of Puddles...
threshSize - the largest allocation that goes into normal puddles
This *MUST* be less than or equal to puddleSize
(LibCreatePool() will fail if it is not)

RESULT

	The address of a new pool header, or NULL for error.

SEE ALSO

DeletePool, AllocPooled, FreePooled, "exec/memory.i", LibDeletePool(), LibAllocPooled(), LibFreePooled()

Comments

Name:
E-mail: Use this if you want a message if you get a response, will not be shown.
Comment:
Select correct short for:

Paradox

DJ
TSL
PHA
PDX

Comments:

$VER: d0.se 1.14 Copyright © 2011-2024 Tobias Geijersson support at d0 dot se