Paged list.
typedef struct PList { uint sig; byte wobj[192]; } PList;

Get count of all items, active and freed.
API uint PListGetTotalItemCount(BList *list);
list: Paged list.
returns: Total item count.

Get item count.
API uint PListGetItemCount(PList *list);
list: Paged list.
returns: Item count.

Get item version.
API uint PListGetItemVer(PList *list, void *item);
list: Paged list.
item: Item.
returns: Version number.

Get first item.
API void *PListGetFirstItem(PList *list, int *index);
list: Paged list.
index: Index var.
returns: Item or 0.

Get last item.
API void *PListGetLastItem(PList *list, int *index);
list: Paged list.
index: Index var.
returns: Item or 0.

Get previous item.
API void *PListGetPrevItem(PList *list, int *index);
list: Paged list.
index: Index var.
returns: Item or 0

Get next item.
API void *PListGetNextItem(PList *list, int *index);
list: Paged list.
index: Index var.
returns: Item or 0.

Get item.
API void *PListGetItem(PList *list, int index);
list: Paged list.
index: Item index.
returns: Item or 0.

Add item.
API void *PListAddItem(PList *list, int *index);
list: Paged list.
index: Var for item index or 0.
returns: Item memory.

Delete item.
API void PListDelItem(PList *list, uint index);
list: Paged list.
index: Item index.

Delete all items.
API void PListClear(PList *list);
list: Paged list.

Initialize paged list.
API void PListInit(PList *list, uint itemSize, uint incr, FDestructCB Destruct);
list: Paged list.
elemSize: Item size.
incr: Increment.
Destruct: Destructor callback or 0.

Release paged list.
API void PListRel(PList *list);
list: Paged list.