API docs / Open libraries / commodities.library
API · Librariescommodities.library jump table
Our open commodities.library: 26 calls with the same LVOs and registers as AmigaOS 3.2's, checked against the NDK 3.2 .fd file.
commodities.library's jump table, as OpenCommodities builds it: LVO, call, registers. build-amiga.sh (with ../common/check_fd.py) checks this against the NDK 3.2 commodities_lib.fd in the stove and stops on any difference; opencommodities_lib.c's lib_vectors[] follows it line for line. The fd keeps -108 and -186..-198 private; ours are, in order, a slot that answers 0, then CopyBrokerList(list)(a0), FreeBrokerList(list)(a0) and BrokerCommand(name,id)(a0/d0), the calls Exchange makes. Core class (OPEN_LIBRARIES.md, section 5): ParseIX, MatchIX, CxMsgType, CxMsgData, CxMsgID and InvertKeyMap are pure; every other call is locked (the object tree and the broker list, one semaphore); the input handler that routes events runs on input.device's task (anchored).
| LVO | Call | Registers | Notes |
|---|---|---|---|
| -30 | CreateCxObj | d0, a0, a1 | |
| -36 | CxBroker | a0, d0 | |
| -42 | ActivateCxObj | a0, d0 | |
| -48 | DeleteCxObj | a0 | |
| -54 | DeleteCxObjAll | a0 | |
| -60 | CxObjType | a0 | |
| -66 | CxObjError | a0 | |
| -72 | ClearCxObjError | a0 | |
| -78 | SetCxObjPri | a0, d0 | |
| -84 | AttachCxObj | a0, a1 | |
| -90 | EnqueueCxObj | a0, a1 | |
| -96 | InsertCxObj | a0, a1, a2 | |
| -102 | RemoveCxObj | a0 | |
| -108 | private | none | |
| -114 | SetTranslate | a0, a1 | |
| -120 | SetFilter | a0, a1 | |
| -126 | SetFilterIX | a0, a1 | |
| -132 | ParseIX | a0, a1 | |
| -138 | CxMsgType | a0 | |
| -144 | CxMsgData | a0 | |
| -150 | CxMsgID | a0 | |
| -156 | DivertCxMsg | a0, a1, a2 | |
| -162 | RouteCxMsg | a0, a1 | |
| -168 | DisposeCxMsg | a0 | |
| -174 | InvertKeyMap | d0, a0, a1 | |
| -180 | AddIEvents | a0 | |
| -186 | private | a0 | |
| -192 | private | a0 | |
| -198 | private | a0, d0 | |
| -204 | MatchIX | a0, a1 | |
| -210 | private | none | the NDK 3.2 fd's; answers 0 (lib_null) |
| -216 | private | none | the NDK 3.2 fd's; answers 0 (lib_null) |
| -222 | private | none | the NDK 3.2 fd's; answers 0 (lib_null) |
| -228 | private | none | the NDK 3.2 fd's; answers 0 (lib_null) |
| -234 | private | none | the NDK 3.2 fd's; answers 0 (lib_null) |