AmigaChromeA new chapter for the Amiga

API docs / Open libraries / iffparse.library

API · Libraries

iffparse.library jump table

Our open iffparse.library: 40 calls with the same LVOs and registers as AmigaOS 3.2's, checked against the NDK 3.2 .fd file.

iffparse.library's jump table, as OpenIFFParse builds it: LVO, call, registers. build-amiga.sh (with ../common/check_fd.py) checks this against the NDK 3.2 iffparse_lib.fd in the stove and stops on any difference; openiffparse_lib.c's lib_vectors[] follows it line for line. Core class (OPEN_LIBRARIES.md, section 5): every call is pure or locked per handle (the caller's own IFFHandle), except OpenClipboard and CloseClipboard (clipboard.device: anchored) and InitIFFasDOS's and InitIFFasClip's streams, which call dos.library and clipboard.device.

41 slots, 40 public
LVOCallRegistersNotes
-30AllocIFFnone
-36OpenIFFa0, d0
-42ParseIFFa0, d0
-48CloseIFFa0
-54FreeIFFa0
-60ReadChunkBytesa0, a1, d0
-66WriteChunkBytesa0, a1, d0
-72ReadChunkRecordsa0, a1, d0, d1
-78WriteChunkRecordsa0, a1, d0, d1
-84PushChunka0, d0, d1, d2
-90PopChunka0
-96privatenone
-102EntryHandlera0, d0, d1, d2, a1, a2
-108ExitHandlera0, d0, d1, d2, a1, a2
-114PropChunka0, d0, d1
-120PropChunksa0, a1, d0
-126StopChunka0, d0, d1
-132StopChunksa0, a1, d0
-138CollectionChunka0, d0, d1
-144CollectionChunksa0, a1, d0
-150StopOnExita0, d0, d1
-156FindPropa0, d0, d1
-162FindCollectiona0, d0, d1
-168FindPropContexta0
-174CurrentChunka0
-180ParentChunka0
-186AllocLocalItemd0, d1, d2, d3
-192LocalItemDataa0
-198SetLocalItemPurgea0, a1
-204FreeLocalItema0
-210FindLocalItema0, d0, d1, d2
-216StoreLocalItema0, a1, d0
-222StoreItemInContexta0, a1, a2
-228InitIFFa0, d0, a1
-234InitIFFasDOSa0
-240InitIFFasClipa0
-246OpenClipboardd0
-252CloseClipboarda0
-258GoodIDd0
-264GoodTyped0
-270IDtoStrd0, a0