API docs / Open libraries / xfdmaster.library
API · Librariesxfdmaster.library jump table
Our open xfdmaster.library: 22 calls with the same LVOs and registers as AmigaOS 3.2's, checked against the NDK 3.2 .fd file.
xfdmaster.library's jump table, as OpenXfdMaster builds it: LVO, call, registers, and (after #) each call's core class (OPEN_LIBRARIES.md section 5). build-amiga.sh (with ../common/check_fd.py) checks this against the xfdmaster developer archive's xfdmaster_lib.fd and stops on any difference (the NDK has no xfdmaster fd); openxfdmaster_lib.c's lib_vectors[] follows it line for line. The registers of -138 to -150 (V37 and later) are as OpenXfdMaster takes them: ABI test.
| LVO | Call | Registers | Notes |
|---|---|---|---|
| -30 | xfdAllocBufferInfo | none | pure |
| -36 | xfdFreeBufferInfo | a1 | pure |
| -42 | xfdAllocSegmentInfo | none | pure |
| -48 | xfdFreeSegmentInfo | a1 | pure |
| -54 | xfdRecogBuffer | a0 | pure: the slave list is read only after init |
| -60 | xfdDecrunchBuffer | a0 | pure: the hot path |
| -66 | xfdRecogSegment | a0 | pure |
| -72 | xfdDecrunchSegment | a0 | pure |
| -78 | xfdGetErrorText | d0 | pure: constant strings |
| -84 | xfdTestHunkStructure | a0, d0 | pure |
| -90 | xfdTestHunkStructureNew | a0, d0 | pure |
| -96 | xfdRelocate | a0, d0, a1, d1 | pure |
| -102 | xfdTestHunkStructureFlags | a0, d0, d1 | pure |
| -108 | xfdStripHunks | a0, d0, a1, d1 | pure |
| -114 | xfdAllocObject | d0 | pure |
| -120 | xfdFreeObject | a1 | pure |
| -126 | xfdRecogLinker | a0 | pure |
| -132 | xfdUnlink | a0 | pure |
| -138 | xfdScanData | a0, d0, a1, d1, a2 | pure |
| -144 | xfdFreeScanList | a1 | pure |
| -150 | xfdObjectType | a1 | pure |
| -156 | xfdInitScanHook | a0, a1 | pure |