API docs / Open libraries / gadtools.library
API · Librariesgadtools.library jump table
Our open gadtools.library: 19 calls with the same LVOs and registers as AmigaOS 3.2's, checked against the NDK 3.2 .fd file.
gadtools.library's jump table, as OpenGadTools builds it: LVO, call, registers. build-amiga.sh (with ../../common/check_fd.py) checks this against the NDK 3.2 gadtools_lib.fd in the stove and stops on any difference; opengadtools_lib.c's lib_vectors[] follows it line for line. The fd keeps -138..-168 private (six slots, before V39's GT_GetGadgetAttrsA at -174); ours answer 0. Core class (OPEN_LIBRARIES.md, section 5): the gadget, menu and filter calls are locked (one semaphore over the gadget registry and the filter's copies); GetVisualInfoA, FreeVisualInfo, GT_RefreshWindow, GT_BeginRefresh, GT_EndRefresh, DrawBevelBoxA, GT_GetIMsg and GT_ReplyIMsg are anchored (Intuition, graphics and the window's port).
| LVO | Call | Registers | Notes |
|---|---|---|---|
| -30 | CreateGadgetA | d0, a0, a1, a2 | |
| -36 | FreeGadgets | a0 | |
| -42 | GT_SetGadgetAttrsA | a0, a1, a2, a3 | |
| -48 | CreateMenusA | a0, a1 | |
| -54 | FreeMenus | a0 | |
| -60 | LayoutMenuItemsA | a0, a1, a2 | |
| -66 | LayoutMenusA | a0, a1, a2 | |
| -72 | GT_GetIMsg | a0 | |
| -78 | GT_ReplyIMsg | a1 | |
| -84 | GT_RefreshWindow | a0, a1 | |
| -90 | GT_BeginRefresh | a0 | |
| -96 | GT_EndRefresh | a0, d0 | |
| -102 | GT_FilterIMsg | a1 | |
| -108 | GT_PostFilterIMsg | a1 | |
| -114 | CreateContext | a0 | |
| -120 | DrawBevelBoxA | a0, d0, d1, d2, d3, a1 | |
| -126 | GetVisualInfoA | a0, a1 | |
| -132 | FreeVisualInfo | a0 | |
| -138 | private | none | |
| -144 | private | none | |
| -150 | private | none | |
| -156 | private | none | |
| -162 | private | none | |
| -168 | private | none | |
| -174 | GT_GetGadgetAttrsA | a0, a1, a2, a3 |